Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] consulta de sql me da un valor de menos siempre

Estas en el tema de consulta de sql me da un valor de menos siempre en el foro de PHP en Foros del Web. en un código php que tengo hecho, al recoger los datos de una consulta sql siempre sale un valor de menos, de tal forma que ...
  #1 (permalink)  
Antiguo 14/02/2014, 05:40
 
Fecha de Ingreso: febrero-2014
Mensajes: 10
Antigüedad: 10 años, 10 meses
Puntos: 0
consulta de sql me da un valor de menos siempre

en un código php que tengo hecho, al recoger los datos de una consulta sql siempre sale un valor de menos, de tal forma que si solo hay un dato no se muestra. El código es el siguiente (perdonad, seguro que está muy mal, pero esoy empezando):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<img src="http://www.politecnicocartagena.com/wp-content/uploads/2012/10/cab2.jpg" width="1000" height="174" />
<title>Exámenes</title>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
</head>

<body>



<?php
$conexion = mysql_connect('sql.byethost5.org','matematy_julio' ,'100')
or die ("NO se puede conectar");
$db = mysql_select_db('matematy_wiki',$conexion)
or die ("NO se puede conectar");

$c0p = $_POST['curso'][0];
$c1p = $_POST['curso'][1];
$c2p = $_POST['curso'][2];
$c3p = $_POST['curso'][3];
$c4p = $_POST['curso'][4];
$c5p = $_POST['curso'][5];
$c6p = $_POST['curso'][6];
$c7p = $_POST['curso'][7];
$c8p = $_POST['curso'][8];



$b0p = $_POST['tema'][0];
$b1p = $_POST['tema'][1];
$b2p = $_POST['tema'][2];
$b3p = $_POST['tema'][3];

$k0 = $_POST['dif'][0];
$k1 = $_POST['dif'][1];

$k2 = $_POST['dif'][2];


/*echo "<pre>";
print_r($_POST);
echo "</pre>";*/

$consulta = "SELECT * FROM ejercicios WHERE (curso = '$c0p' OR curso = '$c1p' OR curso = '$c2p' OR curso = '$c3p' OR curso = '$c4p' OR curso = '$c5p' OR curso = '$c6p' OR curso = '$c7p' OR curso = '$c8p') AND (tema ='$b0p' OR tema = '$b1p' OR tema = '$b2p' OR tema = '$b3p') ORDER BY dificultad, curso, tema";



$resultado = mysql_query ($consulta)


or die ("No conectiion");




echo "<form action='mostrarproductos.php' method='post'>\n";


echo "<table bgcolor=\"#EBC79E \" align=center style=\"border:2px outset black\">";


echo '<td width = "5px" align=center>X</td>';
echo '<td width = "5px" align=center>Id</td>';
echo '<td width = "15px" align=center>Dificultad</td>';
echo '<td width = "15px" align=center>Curso</td>';
echo '<td width = "15px" align=center>Tema</td>';
echo '<td width = "100%" align=center>Enunciado</td>';



while ($registro = mysql_fetch_row($resultado))

{ foreach($registro as $clave)

echo "<tr><td width = '5px' >";

$row=mysql_fetch_array($resultado);

echo "<input type='checkbox' name='casilla[]'value='$row[enunciado]'\n</td>";

echo "<td bgcolor=\"#F9CEF5\"style=\"border:2px groove black\" width = '5px' align=\"center\">",$row["id"],"</td>";

echo "<td bgcolor=\"#C6DDF9\"style=\"border:2px groove black\" width = '15px' align=\"center\">",$row["dificultad"],"</td>";

echo "<td bgcolor=\"#F7BBA8\"style=\"border:2px groove black\" width = '15px' align=\"center\">",$row["curso"],"</td>";

echo "<td bgcolor=\"#F7F7AB\"style=\"border:2px groove black\" width = '15px' align=\"center\">",$row["tema"],"</td>";

echo "<td bgcolor=\"#85F7C0\"style=\"border:2px groove black\" width = '100%' align=\"center\">",$row["enunciado"],"</td></tr>";


}


echo "</tr></table>";

echo "<p><input type='submit' value='A impresión'>
</form>\n";

?>
</body>
</html>
  #2 (permalink)  
Antiguo 14/02/2014, 11:10
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: consulta de sql me da un valor de menos siempre

En esta parte:
while ($registro = mysql_fetch_row($resultado))//aquí extraes una fila del resultado

{ foreach($registro as $clave)

echo "<tr><td width = '5px' >";

$row=mysql_fetch_array($resultado);//aquí vuelves a extraer otra fila

Estas extrayendo dos filas consecutivas antes de imprimir el resultado, por eso si hay una fila esta no llega a imprimirse.
  #3 (permalink)  
Antiguo 15/02/2014, 10:16
 
Fecha de Ingreso: febrero-2014
Mensajes: 10
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: consulta de sql me da un valor de menos siempre

Muchas gracias, no me había dado cuenta de que había dos peticiones que hacían lo mismo. Gracias

Etiquetas: html, menos, mysql, registro, select, siempre, sql, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:22.