Foros del Web » Programando para Internet » PHP »

PHP OO mostrar en un option consulta mysql con jquery

Estas en el tema de mostrar en un option consulta mysql con jquery en el foro de PHP en Foros del Web. Hola muchachos queria saber si me pueden ayudar quiero llenar un combo select option segun lo elegido aca pongo los codigos @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: ...
  #1 (permalink)  
Antiguo 14/11/2012, 21:18
Avatar de siguiendolaluna  
Fecha de Ingreso: noviembre-2011
Mensajes: 28
Antigüedad: 12 años, 4 meses
Puntos: 0
mostrar en un option consulta mysql con jquery

Hola muchachos queria saber si me pueden ayudar quiero llenar un combo select option segun lo elegido
aca pongo los codigos
Código HTML:
Ver original
  1. <form name="form1" method="post" action="">
  2.    <table width="70%" border="0" cellspacing="0" cellpadding="0" align="center" style="background-color:#FFC">
  3.        <tr>
  4.         <td><label for="categoria">Categoria:</label></td>
  5.         <td>
  6.         <select name="categoria" id="categoria" onChange="buscar();">
  7.             <?php $registro = mysql_query("SELECT * FROM categorias");
  8.            while($reg=mysql_fetch_array($registro))
  9.            {
  10.                echo '<option value="' . $reg['id_categoria']. '">' . $reg['categoria']. "</option>";
  11.             }
  12.             ?></select><br /><br /></td>
  13.       </tr>
  14.      
  15.       <tr>
  16.         <td><label for="producto">Producto:</label><br /><br /></td>
  17.         <td>
  18.         <select name="producto" id="producto"></select></td>
  19.       </tr>      
  20.        
  21.       </table>
  22.       </form>
  23.     </div>
  24. </div>
  25. <script type="text/javascript" src="include/jquery.js"></script>
  26. <script type="text/javascript" src="include/jquery.min.js"></script>
  27. <script type="text/javascript">
  28. function buscar()
  29. {
  30.     var categoria = $("#categoria").val();
  31.     $.ajax({
  32.         type:"POST",
  33.         url:"code_option.php",
  34.         data: "cate="+ categoria,
  35.         dataType:"json",
  36.         success: function(data){
  37.             $("#producto").empty();
  38.             for(var i=0; i < 20 ; i++)
  39.             {
  40.                 $("#producto").append('<option value="'+i+'">'+data[i]+'</option>');
  41.             }
  42.         },
  43.         error: function(jqXHR,textStatus,errorThrown){
  44.             alert(textStatus);
  45.         }
  46.     });
  47. }
  48.   </script>
  49. </body>
  50. </html>


segun la opcion de la categoria a traves de jquery va al archivo que ejecuta la consulta y muestra los productos segun categoria, pero no logro llenar el option de los productos

Código PHP:
Ver original
  1. $conec = mysql_connect($host,$user,$pw) or die("no se puede conectar al servidor");
  2.             mysql_select_db($db,$conec)or die("no se conecto a la BD");
  3.  
  4. $categoria = $_POST["cate"];
  5. $registro = mysql_query("SELECT productos.id_producto, productos.nombre
  6.                             FROM productos
  7.                             WHERE id_categoria = ". $categoria ." ");
  8.            $produc = array();
  9.             while($reg=mysql_fetch_array($registro))
  10.             {
  11.                  $id = $reg['id_producto'];
  12.                  $product[$id] = $reg['nombre'];
  13.                  
  14.             }
  15. $productos = $nombre[$id];
  16. die(json_encode($productos, JSON_FORCE_OBJECT));

no se en que estoy fallando, pero no me devuelve nada al formulario
  #2 (permalink)  
Antiguo 14/11/2012, 23:21
Avatar de xxxivanxxx  
Fecha de Ingreso: julio-2010
Ubicación: /home
Mensajes: 114
Antigüedad: 13 años, 7 meses
Puntos: 21
Respuesta: mostrar en un option consulta mysql con jquery

Código PHP:
Ver original
  1. $nombre[$id]

y esa variable?? de donde sale?
__________________
<?="Hello World"?> -> si te gustÓ dale +1
  #3 (permalink)  
Antiguo 15/11/2012, 06:07
Avatar de siguiendolaluna  
Fecha de Ingreso: noviembre-2011
Mensajes: 28
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: mostrar en un option consulta mysql con jquery

Código PHP:
Ver original
  1. $categoria = $_POST["cate"];
  2. $registro = mysql_query("SELECT productos.id_producto, productos.nombre
  3.                            FROM productos
  4.                            WHERE id_categoria = ". $categoria ." ");
  5.            $product= array();
  6.             while($reg=mysql_fetch_array($registro))
  7.             {
  8.                  $id = $reg['id_producto'];
  9.                  $product[$id] = $reg['nombre'];
  10.                  
  11.             }
  12. $productos = $product[$id];
  13. die(json_encode($productos, JSON_FORCE_OBJECT));

gracias lo modifique y reresa informacion pero ahora es otro el problema, la forma en la que me regresa los datos de esa consulta PHP el option del formulario HTML no me muestra por ser si tengo como registro : $reg['nombre']; = bolsa de papel, $reg['id_producto']; = 1.
el option se llena como option1 = B, option2 = O, y el resto es undefined


Código HTML:
Ver original
  1. function buscar()
  2. {
  3.     var categoria = $("#categoria").val();
  4.     $.ajax({
  5.         type:"POST",
  6.         url:"code_option.php",
  7.         data: "cate="+ categoria,
  8.         dataType:"json",
  9.         success: function(data){
  10.             $("#producto").empty();
  11.             for(var i=0; i < 2 ; i++)
  12.             {
  13.                 $("#producto").append('<option value="'+i+'">'+data[i]+'</option>');
  14.             }
  15.         },
  16.         error: function(jqXHR,textStatus,errorThrown){
  17.             alert(textStatus);
  18.         }
  19.     });
  20. }

el error debe estar aca, pero no se cual es

Etiquetas: formulario, html, jquery, mysql, option, registro, sql
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 06:52.