Ver Mensaje Individual
  #14 (permalink)  
Antiguo 20/02/2012, 23:29
niwd03
 
Fecha de Ingreso: septiembre-2011
Mensajes: 10
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Recuperar el Valor de select para consulta mysql

Primero quiero agracer a quienes me han ayudado como no tienen idea en este foro

cachusan, turfeano, thezzin y en especial a este último quien me dio toda la base, se que no me quedo a la primero pero pues desconozco el tema, pero gracias a ese código pude investigar como funciona el código y asi adaptarlo a mis necesidades y espero que al igual que a mi les ayude a muchos.

Francamente no se Ajax pero les daré una breve explicación en base a lo que aprendi y espero le sirva a quien no sabe del tema igual que yo, es muy importante seguir complementando la investigación para que lo adaptemos a nuestras necesidades (lean mucho esa es la clave).

Aqui inicia el primer archivo php, por ejemplo ponerle de nombre index.php

Código HTML:
Ver original
  1. <?php
  2. //Aqui haces tu conexión
  3. mysql_connect("localhost","usuario","contraseña");
  4. mysql_select_db("nombre de la bd");
  5. ?>
  6.  
  7. <!DOCTYPE HTML>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  9. <title>Ajax con php</title>
  10. </head>
  11. //Este es el código de Ajax (por lo que entendí es combinar el uso de java con php) aclaro no conozco mucho del tema pero quiero ayudar a otros que como yo desconocen el tema, este código me permite enviar variables a otro archivo php, la clave esta en la función que se llama getMarca y en el XMLHttpRequest.
  12. <script type="text/javascript">
  13. function getMarca(int){
  14. if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
  15. xmlhttp=new XMLHttpRequest();
  16. }else{// code for IE6, IE5
  17. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  18. }
  19. xmlhttp.onreadystatechange=function(){
  20. if(xmlhttp.readyState==4 && xmlhttp.status==200){
  21. document.getElementById("divShow").innerHTML=xmlhttp.responseText;
  22.    }
  23. }
  24. //Aqui es donde debes colocar tu archivo php y se manda por el metodo get
  25. xmlhttp.open("GET","onChange.php"+int,true);
  26. xmlhttp.send();
  27. }
  28. <div align="center">
  29.   <table width="800" align="center" color: #FFF; font-family: Verdana, Geneva, sans-serif; font-size: 13px;">
  30.   <tr valign="middle" >
  31.     <td align="right">
  32. //Si recuerdas la function get marca se manda llamar aqui en el evento onChange, lo que esta entre paréntesis es otra de las claves, ?pc es el nombre de la variable, recomiendo cambiarla a tus necesidades y this.value es el valor de la lista desplegable que en mi caso tiene su origen en mi bd.
  33. //Nota: También se pueden utilizar otros eventos como onClic en botones, etc.
  34. <select onChange="getMarca('?pc=' + this.value);">  
  35. //Aqui lo que hice es mediante una consulta cargar unas categorías que en mi bd les puse el nombre de linea
  36. <option>Seleccione una Opci&oacute;n...</option>
  37. <?php
  38. //Esta es la consulta
  39. $query=mysql_query("select distinct linea from catalogo order by linea asc");
  40. //Este es un arreglo que me sirve para recuperar la información de mi bd
  41. while ($fila=mysql_fetch_array($query)){
  42. ?>
  43. //En mi caso mi consulta toma un solo campo por esa razón esta repetido, pero si piensas trabajar con más de un campo te recomiendo colocar en el primero el id, en el value.
  44. <OPTION VALUE=<?php echo $fila['linea'].'>'.$fila['linea']?></OPTION>
  45. <?php }
  46.    
  47. ?>
  48. </td>
  49.   </tr>
  50.   </table>
  51. </div>
  52. <br /><br />
  53. <div id="divShow" align="center"></div>
  54. </body>
  55. </html>