Foros del Web » Programando para Internet » PHP »

problema con código php para traer info de una bbdd

Estas en el tema de problema con código php para traer info de una bbdd en el foro de PHP en Foros del Web. Hola a todos, tengo un formulario con un select con na serie de opciones, paises en este caso y unos botones de opcion con una ...
  #1 (permalink)  
Antiguo 25/11/2009, 10:24
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 16 años, 3 meses
Puntos: 1
problema con código php para traer info de una bbdd

Hola a todos, tengo un formulario con un select con na serie de opciones, paises en este caso y unos botones de opcion con una serie de cursos. Con mysql me traigo la información que tengo en las bbdd. Mi problema es que me traigo todo lo que pongo en el "echo" y yo lo que quiero conseguir es que pinche en un pais, Dinamarca por ejemplo y en un tipo de curso y que me traiga la info solamente de ese pais y curso en concreto. Para ello pienso que debo poner algo de php tanto en el select como en los botones de opción, ¿es así?, i problema es donde lo incrusto y como . Os adjunto el código a ver si me podeis orientar:
<table border="4">
<tr>
</tr>
<?php
if (isset($_POST["paises"]) and
isset($_POST["becas"])){


$paises=$_POST["paises"];
$becas=$_POST["becas"];
echo $_POST["paises"] . "==>";
echo $_POST["becas"];

}
$conexion=mysql_connect("localhost","root");
mysql_selectdb("cursos");
$query="SELECT * FROM becas";
$respuesta=mysql_query($query);
while($fila=mysql_fetch_assoc($respuesta)){
echo"<tr>";
echo "<td>".$fila["idiomas"]."</td>";
echo "<td>".$fila["biologia"]."</td>";
echo "<td>".$fila["historia"]."</td>";
echo "<td>".$fila["mecanica"]."</td>";
echo "<td>".$fila["literatura"]."</td>";
//*con esto me traigo toda la info que hay en la bbdd y yo quiero traer info en concreto a través del select y el boton de opcion
echo"</tr>";
}
mysql_close($conexion);
?>
</table>

<form action="formulario.php" method="POST">
<p><strong>PAISES:</strong><br>
<select name="paises" id="select">
<option>Alemania</option>
<option>Austria</option>
<option>Belgica</option>
<option>Bulgaria</option>
<option>Chipre</option>
<option>Dinamarca</option>
</select>

</p>
<p><strong>BECAS</strong>:</p>
<p>
<label>Universitarias
<input type="radio" name="becas" id="radio" value="universitarias"/>
</label>
<label>Doctorado
<input type="radio" name="becas" id="radio2" value="doctorado"/>

</label>
<label>Postgrado
<input type="radio" name="becas" id="radio3" value="Postgrado"/>

</label>
<label>Erasmus
<input type ="radio" name="becas" id="radio4" value="erasmus"/>

</label>
</p>
<p>
<label>Idiomas
<input type="radio" name="becas" id="radio5" value="Idiomas"/>
</label>

<label>Cooperacion
<input type="radio" name="becas" id="radio6" value="cooperacion"/>

</label>
<label>Investigacion
<input type="radio" name="becas" id="radio7" value="investigacion"
/>
</label>
<label>Bolsa
<input type="radio" name="becas" id="radio8" value="bolsa"/>

</label>
<label>Otras
<input type="radio" name="becas" id="radio9" value="otras"/>

</label>
<p> <input type="submit" value="Enviar datos!" > &nbsp;</p>
</p>

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
</form>
Con este codigo me traigo todo lo que hay en la bbdd y yo solo quiero traer un pais y una beca en concreto
  #2 (permalink)  
Antiguo 25/11/2009, 10:29
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: problema con código php para traer info de una bbdd

pues en el query especifica una condicion para q te arroje un pais

Código php:
Ver original
  1. $query="SELECT * FROM becas WHERE pais='$condicion' AND beca='$condicion2'";
  #3 (permalink)  
Antiguo 25/11/2009, 10:32
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: problema con código php para traer info de una bbdd

adaptado a tu codigo seria, solo verifica los campos en el query

Código php:
Ver original
  1. $query="SELECT * FROM becas WHERE paises='$paises' AND becas='$becas'";
  #4 (permalink)  
Antiguo 25/11/2009, 12:04
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: problema con código php para traer info de una bbdd

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\speakandtravel_proyecto\formulario .php on line 19
Me sale este error...¿no debo ponr algo de php en el menu select y en los botones de opcion?
Un saludo
  #5 (permalink)  
Antiguo 25/11/2009, 12:09
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: problema con código php para traer info de una bbdd

no, pero encontre un detalle, tu codigo deberia ir asi o no:

Código php:
Ver original
  1. <table border="4">
  2. <tr>
  3. </tr>
  4. <?php
  5. if (isset($_POST["paises"]) and
  6. isset($_POST["becas"])){
  7.  
  8.  
  9. $paises=$_POST["paises"];
  10. $becas=$_POST["becas"];
  11. echo $_POST["paises"] . "==>";
  12. echo $_POST["becas"];
  13. $conexion=mysql_connect("localhost","root");
  14. mysql_selectdb("cursos");
  15. $query="SELECT * FROM becas WHERE paises='$paises' AND becas='$becas'";
  16. $respuesta=mysql_query($query);
  17. while($fila=mysql_fetch_assoc($respuesta)){
  18. echo"<tr>";
  19. echo "<td>".$fila["idiomas"]."</td>";
  20. echo "<td>".$fila["biologia"]."</td>";
  21. echo "<td>".$fila["historia"]."</td>";
  22. echo "<td>".$fila["mecanica"]."</td>";
  23. echo "<td>".$fila["literatura"]."</td>";
  24. //*con esto me traigo toda la info que hay en la bbdd y yo quiero traer info en concreto a través del select y el boton de opcion
  25. echo"</tr>";
  26. }
  27. mysql_close($conexion);
  28. ?>
  29. </table>
  30. <?php }?>
  31. <form action="formulario.php" method="POST">
  32. <p><strong>PAISES:</strong><br>
  33. <select name="paises" id="select">
  34. <option>Alemania</option>
  35. <option>Austria</option>
  36. <option>Belgica</option>
  37. <option>Bulgaria</option>
  38. <option>Chipre</option>
  39. <option>Dinamarca</option>
  40. </select>
  41.  
  42. </p>
  43. <p><strong>BECAS</strong>:</p>
  44. <p>
  45. <label>Universitarias
  46. <input type="radio" name="becas" id="radio" value="universitarias"/>
  47. </label>
  48. <label>Doctorado
  49. <input type="radio" name="becas" id="radio2" value="doctorado"/>
  50.  
  51. </label>
  52. <label>Postgrado
  53. <input type="radio" name="becas" id="radio3" value="Postgrado"/>
  54.  
  55. </label>
  56. <label>Erasmus
  57. <input type ="radio" name="becas" id="radio4" value="erasmus"/>
  58.  
  59. </label>
  60. </p>
  61. <p>
  62. <label>Idiomas
  63. <input type="radio" name="becas" id="radio5" value="Idiomas"/>
  64. </label>
  65.  
  66. <label>Cooperacion
  67. <input type="radio" name="becas" id="radio6" value="cooperacion"/>
  68.  
  69. </label>
  70. <label>Investigacion
  71. <input type="radio" name="becas" id="radio7" value="investigacion"
  72. />
  73. </label>
  74. <label>Bolsa
  75. <input type="radio" name="becas" id="radio8" value="bolsa"/>
  76.  
  77. </label>
  78. <label>Otras
  79. <input type="radio" name="becas" id="radio9" value="otras"/>
  80.  
  81. </label>
  82. <p> <input type="submit" value="Enviar datos!" > &nbsp;</p>
  83. </p>
  84.  
  85. <p>&nbsp;</p>
  86. <p>&nbsp;</p>
  87. <p>&nbsp; </p>
  88. </form>

por
  #6 (permalink)  
Antiguo 25/11/2009, 12:46
Avatar de Pike  
Fecha de Ingreso: agosto-2008
Ubicación: Por ahí
Mensajes: 251
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: problema con código php para traer info de una bbdd

En ese cod php que hay en la linea 30 ha una llave } que debería cerrar otra llave { ¿no?
  #7 (permalink)  
Antiguo 25/11/2009, 14:43
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: problema con código php para traer info de una bbdd

Hola!

Despues del query pone "or die(mysql_error());" para poder ver el error y resolverlo mejor.

Quedaria asi:

Código PHP:
$respuesta=mysql_query($query) or die ( mysql_error() ); 
Saludos!
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 14:09.