Foros del Web » Programando para Internet » PHP »

no me hace la consulta

Estas en el tema de no me hace la consulta en el foro de PHP en Foros del Web. Tengo este formulario y la consulta, pero no me carga. No se donde está el error <html> <head><title> CONSULTA CITAS </title></head> <body> <center><h2> citas del ...
  #1 (permalink)  
Antiguo 01/04/2011, 03:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
no me hace la consulta

Tengo este formulario y la consulta, pero no me carga. No se donde está el error

<html>
<head><title> CONSULTA CITAS </title></head>
<body>
<center><h2> citas del dia </h2><hr>
<form action="cita4.php" method="post">
<p> fecha <br>

<p>dia
<input type="text" name="textfield">
</p>
<p>
<input type="submit" name="Submit" value="Enviar"></p>
</form>
</center>
</body>
</html>






<?php
$conexion=mysql_connect("localhost","root","1234") or die ('No pudo conectarse');
mysql_select_db("can1",$conexion);
$day=$_REQUEST['dia'];
$sql="SELECT nombre, hora FROM citas WHERE dia = '$day' ORDER BY hora ASC" ;
$resul=mysql_query($sql,$conexion);
echo "$sql";
if(mysql_error($conexion)!=0) {
echo"<center><h2><p>ERROR AL REALIZAR LA SENTENCIA SELECT</center>";
exit();
}
$numero=mysql_num_rows($resul);
if($numero==0) {
echo"<center><h2><p>NO EXISTE CIITAS PARA ESE DIA $day</center></p>";
exit();
}

echo"<center><h2><p> LISTADO </p>";
echo"<table width='500' border='1'>";
echo"<tr><td><p> NOMBRE </p></td>;
<td><p> HORA </p></td>";
// <td><p> EDAD </p></td>
// <td><p> EQUIPO </p></td>";

while($fila=mysql_fetch_array($resul)) {
echo"<tr><td>$fila[nombre]</td>";
echo"<td>$fila[hora]</td>";
echo"</tr>";
}
echo"</table></center>";
mysql_close($conexion);

?>
  #2 (permalink)  
Antiguo 01/04/2011, 04:28
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: no me hace la consulta

Qué quieres decir con que no te carga?

No sale nada?

Si es así, prueba a hacer un echo ($sql); después de asignarle valor a $sql, copia el resultado que te salga en el navegador en un prompt de sql y a ver qué resultado te da. A ver si es fallo de sintáxis, no hay resultados u otra cosa.
  #3 (permalink)  
Antiguo 01/04/2011, 04:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: no me hace la consulta

Ya hice un echo, (está en el script) y dia sale en blanco. No lo carga.

Hice una prueba en PHP my admin y es correcto (me ejecuta la consulta), si pongo un dia manualmente.

También hice la prueba en Mysql
  #4 (permalink)  
Antiguo 01/04/2011, 05:25
Avatar de zibor  
Fecha de Ingreso: diciembre-2006
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: no me hace la consulta

Creo que tu problema de que el "día" te lo recoja vacio, es el siguiente:
Date cuenta que en el script PHP, haces un $_REQUEST['dia'], si te fijas bien, en tu formulario el campo del día , el valor NAME del input es "textfield", por lo que debes recogerlo por $_REQUEST['textfield']...

Saludos.
__________________
Picando código...!!!
  #5 (permalink)  
Antiguo 01/04/2011, 05:39
 
Fecha de Ingreso: septiembre-2010
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: no me hace la consulta

Eso que dices también lo hice.
No tira
El echo da esto:
SELECT nombre, hora FROM citas WHERE dia = '' ORDER BY hora ASC
  #6 (permalink)  
Antiguo 01/04/2011, 05:47
Avatar de zibor  
Fecha de Ingreso: diciembre-2006
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: no me hace la consulta

Yo cuando recojo los datos de una variable siempre me enseñaron y me acostumbré a eso, a recojerlo mediante $var = $_POST["nombre"]... $_REQUEST nunca lo utilizo.
Prueba con eso.... pero acuerdate que debes indicar el nombre que se ha puesto en el input... "textfield"..... tambien puedes comprobar que datos son los que pasa el formulario en el script haciendo un PRINT_R($_POST)....
__________________
Picando código...!!!
  #7 (permalink)  
Antiguo 01/04/2011, 06:46
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: no me hace la consulta

Prueba con esto :

Código HTML:
Ver original
  1. <head><title> CONSULTA CITAS </title></head>
  2. <center><h2> citas del dia </h2><hr>
  3. <form action="cita4.php" method="post">
  4. <p> fecha <br>
  5.  
  6. <p>dia
  7. <input type="text" name="dia">
  8. </p>
  9. <p>
  10. <input type="submit" name="enviar" value="Enviar"></p>
  11. </form>
  12. </center>
  13. </body>
  14. </html>

y recoge los datos con esto:

Código PHP:
Ver original
  1. <?php
  2. $conexion=mysql_connect("localhost","root","1234") or die ('No pudo conectarse');
  3. mysql_select_db("can1",$conexion);
  4. $dia=$_POST['dia'];
  5. $sql="SELECT nombre, hora FROM citas WHERE dia = '$dia' ORDER BY hora ASC" ;
  6. $resul=mysql_query($sql);
  7. if(mysql_error($conexion)!=0)
  8. {
  9.     echo"<center><h2><p>ERROR AL REALIZAR LA SENTENCIA SELECT</center>";
  10.     exit();
  11. }
  12. $numero=mysql_num_rows($resul);
  13. if($numero==0)
  14. {
  15.     echo"<center><h2><p>NO EXISTE CIITAS PARA EL DIA : $dia</center></p>";
  16.     exit();
  17. }
  18. echo"<center><h2><p> LISTADO </p>
  19. <table width='500' border='1'>
  20. <tr><td><p> NOMBRE </p></td>
  21. <td><p> HORA </p></td>
  22. <td><p> EDAD </p></td>";
  23. // <td><p> EQUIPO </p></td>";
  24.  
  25. while($fila=mysql_fetch_array($resul)) {
  26. echo"<tr><td>$fila[nombre]</td>
  27. <td>$fila[hora]</td>
  28. <td>$dia</td>
  29. </tr>";
  30. }
  31. echo"</table></center>";
  32. mysql_close($conexion);
  33.  
  34. ?>

Saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #8 (permalink)  
Antiguo 01/04/2011, 12:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: no me hace la consulta

Hice como está indicado e igual situación no tira.
Al hacer echo de sql sale
SELECT nombre, hora FROM citas WHERE dia = 2011-03-07 ORDER BY hora ASC
NO EXISTE CIITAS PARA ESE DIA


Pero si hay citas. Es lo que no entiendo la consulta en phpmyadmin la hace bien.
  #9 (permalink)  
Antiguo 01/04/2011, 12:55
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: no me hace la consulta

Hola,

dos cosas:
1. Has probado a pegar ese argumento directamente en SQL?
2. Has comprobado "a mano" que haya "citas" realamente en esa fecha?
  #10 (permalink)  
Antiguo 01/04/2011, 13:08
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: no me hace la consulta

Y en la base de datos esta guardado el dia como 2011-03-07
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #11 (permalink)  
Antiguo 01/04/2011, 13:20
 
Fecha de Ingreso: septiembre-2010
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: no me hace la consulta

Si .
Como dije lo he hecho en Mysql y en phpmyadmin.
Si está guardado así 2011-03-07
  #12 (permalink)  
Antiguo 01/04/2011, 13:30
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: no me hace la consulta

A ver aver si entiendo , tu ejecutas esto:

Código PHP:
Ver original
  1. #
  2. $sql="SELECT nombre, hora FROM citas WHERE dia = '$dia' ORDER BY hora ASC" ;
  3. $resul=mysql_query($sql);

Realizas un echo, lo ejecutas en PhpMyAdmin y te arroja resultados.

Luego tu code realiza esto :

Código PHP:
Ver original
  1. $numero=mysql_num_rows($resul);

Y este al parecer te queda en 0 ......:pensado:

Tambien le hiciste un echo al $numero

Creo que encontré el error ....


Prueba con esto :

Código PHP:
Ver original
  1. echo"<tr><td>"'.$fila['nombre'].'"</td>
  2. <td>"'.$fila['hora'].'"</td>
  3. <td>"'.$dia.'"</td>
  4. </tr>";

Saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #13 (permalink)  
Antiguo 02/04/2011, 04:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: no me hace la consulta

No entiendo, pero ha funcionado.
Los últimos cambios que dices no los hice porque daba error. Lo dejé como estaba.
De todas manera gracias por los consejos y cambios anteriores que le hice para que tirara.

Etiquetas: Ninguno
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 17:52.