Foros del Web » Programando para Internet » PHP »

Recuperar el Valor de select para consulta mysql

Estas en el tema de Recuperar el Valor de select para consulta mysql en el foro de PHP en Foros del Web. Buenas noches Soy novato en php e investigando logre hacer que una lista desplegable tome el valor de mi tabla llamada catalogo, ahora quiero que ...
  #1 (permalink)  
Antiguo 16/02/2012, 19:56
 
Fecha de Ingreso: septiembre-2011
Mensajes: 10
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Recuperar el Valor de select para consulta mysql

Buenas noches

Soy novato en php e investigando logre hacer que una lista desplegable tome el valor de mi tabla llamada catalogo, ahora quiero que tome el valor de la lista y haga una consulta y devuelva el resultado, si lo hace, pero es solo inicial, después no cambia el valor, tengo la idea de hacerlo con un botón, pero no he logrado nada.


<SELECT NAME="Lineas">
<option>Seleccione una Opción...</option>
<?php
//Esta es la consulta para llenar mi lista
$query=mysql_query("select distinct linea from catalogo order by linea asc");
while ($fila=mysql_fetch_array($query)){
?>
//Aqui es donde toma el valor
<OPTION VALUE=<?php echo $fila['linea'].'">'.$fila['linea'];
//Aqui creo una variable
$lin=$fila['linea'];
//Y hago una segunda consulta, si funciona pero solo muestra un resultado y no cambia con la lista, claro no se si esto se pueda hacer
//Mi otra idea es con un boton y lo intente pero no pasa nada utilize despues del cierre de la etiqueta del selet <button></button>
$qry=mysql_query("select * from catalogo where linea='$lin'");
?></OPTION>
<?php }
?>
</SELECT>

Agradecería mucho su ayuda, ya busque pero no encuentro algo que me sirva

Gracias de antemano, su foro me ha sido de mucha ayuda.
  #2 (permalink)  
Antiguo 16/02/2012, 20:41
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Recuperar el Valor de select para consulta mysql

disculpa pero creo que no entendi tu duda
  #3 (permalink)  
Antiguo 16/02/2012, 22:49
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Recuperar el Valor de select para consulta mysql

Confirmame si este pseudo-codigo es la idea que tenes en mente.

<select>
<option>Linea 1</option>
<option>Producto 1 de la linea 1</option>
<option>Producto 2 de la linea 1</option>
<option>Linea 2</option>
<option>Producto 1 de la linea 2</option>
<option>Producto 2 de la linea 2</option>
</select>
  #4 (permalink)  
Antiguo 17/02/2012, 11:16
 
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

Lo que pasa es que quiero que al elegir una opción de la lista desplegable se ejecute una consulta que muestre los resultados, por ejemplo, tengo en mi base tres clasificaciones y son destop, netbook y laptop, quiero que al elegir alguno de ellos la consulta cambie, solo aparecen destop y no aparecen los demás.

Estuve investigando y el select trabaja con un evento onchange pero no he averiguado como utilizarlo con php.

Gracias de antemano
  #5 (permalink)  
Antiguo 17/02/2012, 12:51
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Recuperar el Valor de select para consulta mysql

Es correcto, se puede hacer lo que deseas, pero estas equivocando la forma. La segunda consulta no debes hacerla dentro del select.

Para continuar guiandote, necesito mas información, lo mas detallada posible de lo que queres realizar y sobre todo como queres que quede.
  #6 (permalink)  
Antiguo 17/02/2012, 13:22
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Recuperar el Valor de select para consulta mysql

El evento onchange es de javascript!
Se usa asi mas o menos:
Código HTML:
Ver original
  1. <select onchange='cambioSel(this)'>
y después la función javascript que hará lo que necesitas:

Código Javascript:
Ver original
  1. function cambioSel(obj){
  2.  if (obj.value=='netbook'){
  3.      // bla bla
  4.  
  5. }
  6. }
  #7 (permalink)  
Antiguo 17/02/2012, 13:51
 
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

Es para un carrito de compras.

Lo que pasa es que yo estoy trabajando con dos consultas, esta que es la primera se encarga de buscar en mi base de datos que se llama productos (contiene los siguientes campos: id, producto, linea, precio e imagen) y solo recupero el valor de linea que son tres desktop, netbook y laptop. Esto si me funciona, después de investigar mucho me ha quedado como quiero, pero al terminar este código, me surgió otra idea que es que al cambiar de destopk a laptop solamente se vean estas y las otras ya no, pero solo lo hace al inicio y no logro que cambie, se que puedo hacer varias páginas con la información, pero lo que busco es simplificar el trabajo, porque puedo crear una página para netbook, otra para desktop y por último una para laptop, pero y si fueran 20 lineas (clasificaciones) diferentes no veo práctico crear 20 páginas si hay forma de que lo haga en una sola mucho mejor.

<SELECT NAME="linea">
<option>Seleccione una Opción...</option>
<?php
$query=mysql_query("select distinct linea from catalogo order by linea asc");
while ($fila=mysql_fetch_array($query)){
?>
<OPTION VALUE=<?php echo $fila['linea'].'">'.$fila['linea']?></OPTION>
<?php }
?>
</SELECT>

La segunda consulta trabaja con la siguiente tabla y aqui se muestra producto, precio e imagen, esto ya funciona, pero quiero que cambie cuando se seleccione otra linea en la lista desplegable.

Este es el código en php con el que quiero lograrlo, pero no me ha salido, no se donde colocarlo para que me funcione, he estado investigando sobre php y he visto que es un lenguaje de servidor, y las opciones que he visto son para que trabaje con un archivo php aparte y eso no es lo que quiero, quiero que todo se maneje en este.
<?php

//Estas dos lineas son las que nose donde colocar o que hacer para que funcione
$lin=$fila['linea'];
$qry=mysql_query("select * from catalogo where linea='$lin'");

//De aqui en adelante si funciona
while($row=mysql_fetch_array($qry))
{

?>
<tr valign="middle" class="catalogo">
<td><?php echo $row['producto'] ?></td>
<td><?php echo $row['precio'] ?></td>
<td><?php echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imagen'] ) . '" />'

He investigado que con onchange en la etiqueta select se pueden llamar funciones, pero según lo que he leído no se puede hacer con php, encontre que se puede hacer con ajax, pero francamente no le entiendo.
  #8 (permalink)  
Antiguo 17/02/2012, 18:12
 
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

Agregue el evento onChange="xajax_bd(this.value)" del select este código, lo encontré en internet pero no me funciono, trate de seguir lo más que pude las instrucciónes, pero no me funciono.

Y copie el código java de la página de ejemplo que encontré.

Me imagino que si esta reconociendo el código porque carga cada que cambio el select, pero aun asi no cambia la segunda consulta.

El código que utilize es el siguiente:
//La versión es 0.5
<?php
require ('xajax/xajax_core/xajax.inc.php');

$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);

function bd($prod){
//la variable la coloque en el select pero aún asi no funciona
$qry=mysql_query("select * from catalogo where linea='$lin'");

$respuesta = new xajaxResponse();
$respuesta->setCharacterEncoding('ISO-8859-1');
$respuesta->Assign("respuesta","innerHTML",$salida);
return $respuesta;
}

$xajax->register(XAJAX_FUNCTION,'bd');

$xajax->processRequests();
?>

La información la tome del siguiente link
http://www.desarrolloweb.com/articulos/actualizar-xajax-0-2-a-xajax-0-5.html

Espero me puedan ayudar

Gracias de antemano

Última edición por niwd03; 17/02/2012 a las 22:24
  #9 (permalink)  
Antiguo 18/02/2012, 03:37
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Recuperar el Valor de select para consulta mysql

hola, debido a que este tema también le puede servir a otra persona que este buscando
lo mismo que Tu y no tenia nada que hacer hice algo parecido a lo que tu quieres.
es en php y Ajax
yo te sugiero que en ves de $_GET uses $_POST y ajax
en Google puedes encontrar mucha info
y que uses filtros incluido mysql_real_escape_string
yo estoy con; php 5.3.3-7 Linux
para el primer file que seria el
index.php

Code:
Código HTML:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>php Ajax</title>
</head>
<script type="text/javascript">
function getMarca(int){
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("divShow").innerHTML=xmlhttp.responseText;
   }
}
xmlhttp.open("GET","onChange.php"+int,true);
xmlhttp.send();
}
</script>
<body>
<?php 
$arrayList = array('dell','sony','hp');
?>
<br /><br />
<div align="center">
Selecione una 
<select onChange="getMarca('?op=opn&pc=' + this.value);">  
<option>Marca
<?php 
for($i=0;$i<count($arrayList);$i++){
echo '<option value="the'.$arrayList[$i].'">'.ucfirst($arrayList[$i])."\n";
}
?>
</select>
</div>
<br /><br />
<div id="divShow" align="center"></div>
</body>
</html> 
y para el file: onChange.php
code:
Código PHP:
<?php 
function theAjax($theAjax){
return isset(
$_GET[$theAjax]) ? $_GET[$theAjax] : "";
}
//opn
echo 'Extra occion!: ',theAjax('op');
$Lpc theAjax('pc');
$arrayTBList = array(
'thedell' => 'dellpc',
'thesony' => 'sonypc',
'thehp' => 'hppc',
);
$TBpc = isset($arrayTBList[$Lpc]) ? $arrayTBList[$Lpc] : "dellpc";
//Cambiar Valores...
$con mysql_connect("HostDB","UserDB","PaswdDB");
if (!
$con){
die(
'Could not connect: ' mysql_error());
}
//Cambiar DB...
mysql_select_db("Tu-Db-Name"$con);
$result mysql_query("SELECT * FROM $TBpc");
echo 
"<br /><br /><table border='1'>
<tr>
<th>Precio</th>
<th>Modelo</th>
<th>Foto</th>
<th>Descripción</th>
<th>Producto ID</th>
<th>Fecha de Registro</th>
<th> Ultima actualización </th>
</tr>"
;
while(
$row mysql_fetch_array($result)){
echo 
"<tr>",
"<td>$",$row['precio'],"</td>",
"<td>",$row['modelo'],"</td>",
"<td>" .'&lt;img src=&quot;folde/images/',$row['imgRoot'],'&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt; ',"</td>",
"<td>",$row['etcTxt'],"</td>",
"<td>",$row['UqId'],"</td>",
"<td>",$row['date'],"</td>",
"<td>",$row['udate'],"</td>",
"</tr>";
}
echo 
"</table><br /><br />";
function 
parse_youtube_url($url,$return='embed',$width='',$height='',$rel=0){
$urls parse_url($url);
//url is http://youtu.be/xxxx
if($urls['host'] == 'youtu.be'){
$id ltrim($urls['path'],'/');
}
//url is http://www.youtube.com/embed/xxxx
else if(strpos($urls['path'],'embed') == 1){
$id end(explode('/',$urls['path']));
}
 
//url is xxxx only
else if(strpos($url,'/')===false){
$id $url;
}else{
parse_str($urls['query']);
$id $v;
if(!empty(
$feature)){
$id end(explode('v=',$urls['query']));
 }
}
//return embed iframe
if($return == 'embed'){
return 
'<iframe width="'.($width?$width:560).'" height="'.($height?$height:349).'" src="http://www.youtube.com/embed/'.$id.'?rel='.$rel.'" frameborder="0" allowfullscreen></iframe>';
}
//return normal thumb
else if($return == 'thumb'){
return 
'http://i1.ytimg.com/vi/'.$id.'/default.jpg';
}
//return hqthumb
else if($return == 'hqthumb'){
return 
'http://i1.ytimg.com/vi/'.$id.'/hqdefault.jpg';
}else{
// else return id
return $id;
  }
}
$TBpc .= theAjax('eigts');
switch(
$TBpc){
case 
'dellpc':
echo 
parse_youtube_url('http://www.youtube.com/watch?v=xhtgw-tOj-o','embed');
break;
case 
'sonypc':
echo 
parse_youtube_url('http://www.youtube.com/watch?v=hXAVjmsjSB0','embed');
break;
case 
'hppc':
$video parse_youtube_url('http://www.youtube.com/watch?v=Scs7DZhQ72E','embed');
$img parse_youtube_url('http://www.youtube.com/watch?v=Scs7DZhQ72E','hqthumb');
echo 
"Imagen<br /> <img src=\"",$img,"\" width=\"200\" height=\"150\"><br /> y Video<br />";
echo 
$video;
break;
case 
'dellpc-eigts.net':
print_r($_GET);
break;
}
?><br /><br /><a href="#" onClick="getMarca('?eigts=-eigts.net&ext=opA&et=epB');">extra op</a>
recuerda que tu lo tienes que modificar ese código solo es para que entiendas como
jugar con php y ajax

en esta URL podras ver un ejemplo: www.eigts.net/phpAjax.php

solo lo dejo temporal el URL vista previa de ese code después editare es tema

si quieres una copia de la estructura de my DB copia este code basico y lo ejecutas en un
file php te creara la base de dato o solo las tablas:
code:

Código PHP:
<form action="" method="post">
Nombre de Base de Datos <input name="thedb" type="text">si no existe sera creada con ese nombre<br />
<input name="crear" type="submit" value="Submit">
</form>
<?php 
if(isset($_POST['crear'])){
$db = isset($_POST['thedb']) ? $_POST['thedb'] : "";
if(empty(
$db)){
echo 
'DB Name empty!';
}else{
//Cambiar Valores...
$con mysql_connect("HostDB","UserDB","PaswdDB");
if (!
$con){
die(
'Could not connect: ' mysql_error());
}
// Create database
if (mysql_query("CREATE DATABASE IF NOT EXISTS $db",$con)){
echo 
"La Base de Datos fue creada";
if(
mysql_select_db("$db"$con)){
$sqlA "CREATE TABLE IF NOT EXISTS `dellpc` (
  `hwId` int(11) NOT NULL AUTO_INCREMENT,
  `thepc` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '0',
  `precio` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '300',
  `modelo` varchar(50) COLLATE utf8_spanish_ci NOT NULL DEFAULT '2182012',
  `imgRoot` varchar(200) COLLATE utf8_spanish_ci NOT NULL DEFAULT '0',
  `etcTxt` text COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `UqId` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `udate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`hwId`),
  UNIQUE KEY `UqId` (`UqId`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;"
;
mysql_query($sqlA$con);
$sqlB "CREATE TABLE IF NOT EXISTS `sonypc` (
  `hwId` int(11) NOT NULL AUTO_INCREMENT,
  `thepc` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '0',
  `precio` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '250',
  `modelo` varchar(50) COLLATE utf8_spanish_ci NOT NULL DEFAULT '2182012',
  `imgRoot` varchar(200) COLLATE utf8_spanish_ci NOT NULL DEFAULT '0',
  `etcTxt` text COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `UqId` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `udate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`hwId`),
  UNIQUE KEY `UqId` (`UqId`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;"
;
mysql_query($sqlB$con);
$sqlC "CREATE TABLE IF NOT EXISTS `hppc` (
  `hwId` int(11) NOT NULL AUTO_INCREMENT,
  `thepc` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '0',
  `precio` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '200',
  `modelo` varchar(50) COLLATE utf8_spanish_ci NOT NULL DEFAULT '2182012',
  `imgRoot` varchar(200) COLLATE utf8_spanish_ci NOT NULL DEFAULT '0',
  `etcTxt` text COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `UqId` varchar(100) COLLATE utf8_spanish_ci NOT NULL DEFAULT '',
  `date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `udate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`hwId`),
  UNIQUE KEY `UqId` (`UqId`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;"
;
mysql_query($sqlC$con);
echo 
" y las Tablas fueron creadas";
mysql_close($con);
}else{
die (
'Error: ' mysql_error());    
         }
      }
   }
}
?>
espero y te sirva y si es lo que buscas modificalo a tu gusto...


today for my php code was free




-
__________________
╬-----╬
║☺₧☻║
╬-----╬

Última edición por thezzin; 18/02/2012 a las 03:55
  #10 (permalink)  
Antiguo 18/02/2012, 10:05
 
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

Muchas gracias

Ya vi como funciona y si es lo que necesito, pero no se mucho, espero poder acomodarlo para mi código.

Cuando me quede lo pondré completo
  #11 (permalink)  
Antiguo 19/02/2012, 15:56
 
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

Francamente no se de donde sale la variable $theAjax, según lo que entiendo almacena un valor de tipo entero, si es asi como puedo hacerle para que almacene un string, la verdad si le he estado buscando con tu código pero aún me falta much por entender

Gracias de antemano
  #12 (permalink)  
Antiguo 19/02/2012, 20:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Recuperar el Valor de select para consulta mysql

Código PHP:
<?php 
$sel 
$_SERVER['PHP_SELF'];
//
if(isset($_GET['pc'])){
$pc1 $_GET['pc'];
$op2    $_GET['op'];
}else{
echo 
'Click en una opción ';
}
function 
theAjax($theAjax){
return isset(
$_GET[$theAjax]) ? $_GET[$theAjax] : " Click en una opción ";
}
$pc3 theAjax('pc');
$op4 theAjax('op');
echo 
'Esto da el mismo resultado&gt;&gt;&gt;'$pc1,'  ',$op2,' Que esto&gt;&gt;&gt; '$pc3,' ',$op4;

?>
<br /><br />esto Envia por $_GET[] sin Ajax <a href="<?php echo $sel;?>?pc=Dell&op=Modelo">Click</a> 
 y esto Envia por $_GET[] con Ajax <a href="#" onClick="getMarca('?pc=Dell&op=Modelo');">Click</a>
__________________
╬-----╬
║☺₧☻║
╬-----╬

Última edición por thezzin; 19/02/2012 a las 21:07
  #13 (permalink)  
Antiguo 20/02/2012, 22:57
 
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

Agradezco toda la ayuda, francamente nose nada de ajax y php pues más o menos le voy entendiendo, pero pues ya solucione mi problema y como muchos no pienso colocar mi código

Ya comi, ya bebi, ya no me hayo aqui.

Es broma ja ja ja

En unos minutos pongo mi código
  #14 (permalink)  
Antiguo 20/02/2012, 23:29
 
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>
  #15 (permalink)  
Antiguo 20/02/2012, 23:32
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Recuperar el Valor de select para consulta mysql

Bueno no es obligatorio que pongas tu código aquí esa es una voluntad tuya.
muchos aquí dices que no se le puede escribir todo el código php a alguien.
yo estoy de acuerdo porque sino nunca aprenden nada y se acostumbran a Copy & Paste
volviendo al caso tuyo. si no pones tu code Bien. Pero cuando alguien pregunte podes devolver el favor poniéndole ejemplos de lo que has aprendido y no haciéndole el trabajo completo.
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #16 (permalink)  
Antiguo 20/02/2012, 23:42
 
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

Aquí esta el segundo archivo para el ejemplo se llama onChange.php

Código PHP:
Ver original
  1. <?php
  2. // Asigno el nombre de $lin a la variable pc que viene del primer archivo
  3. $lin= $_GET["pc"];
  4. //Sugiero crear un archivo php donde incluya la conexión para que no se escriba lo mismo en los dos archivos, lo mandas llamar con include, después lo haré yo también en mi código
  5. $con = mysql_connect("localhost","usuario","contraseña");
  6. if (!$con){
  7. die('Could not connect: ' . mysql_error());
  8. }
  9. //Cambiar DB...
  10. mysql_select_db("tu bd", $con);
  11. //Aqui esta la consulta con el valor que viene del primer archivo
  12. $result = mysql_query("SELECT * FROM catalogo WHERE linea='$lin'");
  13. echo "<br /><br /><table border='1'>
  14. <tr>
  15. <th>Producto</th>
  16. <th>Precio</th>
  17. </tr>";
  18. while($row = mysql_fetch_array($result)){
  19. echo "<tr>",
  20. "<td>$",$row['producto'],"</td>",
  21. "<td>",$row['precio'],"</td>",
  22. "</tr>";
  23. }
  24. echo "</table><br /><br />";
  25. ?>

Nota: Se que escribi demasiado, pero mi objetivo es que quienes saben poco como yo puedan ser los más beneficiados, se que hay muchos masters en el foro que ya saben todo esto, y si lo llegan a leer agradecería cualquier corrección.

Agradezco a este foro por su gran ayuda
  #17 (permalink)  
Antiguo 20/02/2012, 23:44
 
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

Ups, creo que lo dijiste demasiado tarde, pero tienes razón, para la próxima vez solo citaré en que me ayudo la información que vi.

Gracias thezzin

Etiquetas: mysql, select, sql, tabla, variables
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:52.