Foros del Web » Programando para Internet » PHP »

Coger variable del select (PHP)

Estas en el tema de Coger variable del select (PHP) en el foro de PHP en Foros del Web. Hola, buenas, antes que nada quiero pedir disculpas por poner otro post con más de lo mismo pero las diferentes situaciones/soluciones que hay en el ...
  #1 (permalink)  
Antiguo 01/02/2011, 12:46
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 1
Coger variable del select (PHP)

Hola, buenas, antes que nada quiero pedir disculpas por poner otro post con más de lo mismo pero las diferentes situaciones/soluciones que hay en el foro no me han funcionado, así que he decidido escribir la mía.

Yo no trabajo ni con ajax, xajax, jquery (pero creo que esto es preciso con ajax). Bueno, yo tengo un select name

Código HTML:
 <select name="marca" id="marca" style="width:148px;" onChange="actualiza()"><option value= "">Elija modelo</option><option value= "S911">Serie 911</option><option value="964"><option value="962">962</option><option value="968">968</option></select> 
Y me gustaría que una vez el usuario haya escogido la variable, se guardase en una variable $variable sin tener que actualizar la página para poder llamar a una función javascript.

Código PHP:
<script>
            
            function actualiza(){
            
              <? 
                  
                    
                    
                  $sqlNum
="SELECT * FROM ofertas WHERE marca=$marca ";
                    
$execNum mysql_query($sqlNum);
                    
$numRowsConsulta=mysql_num_rows($execNum);

?> alert("<? echo $numRowsConsulta ?> ");
}
            </script>
Este código de java me muestra mediante un alert el número de coches de X marca en concreto.
¿Alguien me puede decir cómo lo debo hacer? He probado en xajax pero no he obtenido ningún resultado

Gracias adelantadas

Última edición por jisana; 01/02/2011 a las 13:08
  #2 (permalink)  
Antiguo 01/02/2011, 13:39
Avatar de solrakmnk  
Fecha de Ingreso: febrero-2011
Ubicación: Mexico
Mensajes: 23
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Coger variable del select (PHP)

pues es la primera ves que escribo aca y espero poder ayudarte, lo puedes hacer con ajax, yo lo hice con tres archivos.

index.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script languaje="javascript" src="ajax.js"></script>
<title></title>
</head>
<body>
<select name="marca" id="marca" style="width:148px;" onChange="actualiza(this.value)"><option value= "">Elija modelo</option><option value= "S911">Serie 911</option><option value="964"><option value="962">962</option><option value="968">968</option></select>
</body>
</html>


Ajax.js

function objetoAjax(){
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }

return xmlhttp;
}


function actualiza(id){
ajax=objetoAjax();
ajax.open("POST", "consulta.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
alert(ajax.responseText)
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("id="+id)
}


consulta.php

<?php
echo "la consulta con: $_POST[id]";
?>
  #3 (permalink)  
Antiguo 01/02/2011, 13:41
Avatar de solrakmnk  
Fecha de Ingreso: febrero-2011
Ubicación: Mexico
Mensajes: 23
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Coger variable del select (PHP)

pues es la primera ves que escribo aca y espero poder ayudarte, lo puedes hacer con ajax, yo lo hice con tres archivos.

index.php

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4.         <script languaje="javascript" src="ajax.js"></script>
  5.         <title></title>
  6.     </head>
  7.     <body>
  8.          <select name="marca" id="marca" style="width:148px;" onChange="actualiza(this.value)"><option value= "">Elija modelo</option><option value= "S911">Serie 911</option><option value="964"><option value="962">962</option><option value="968">968</option></select>
  9.     </body>
  10. </html>


Ajax.js

Código Javascript:
Ver original
  1. function objetoAjax(){
  2.     /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
  3.     lo que se puede copiar tal como esta aqui */
  4.     var xmlhttp=false;
  5.     try
  6.     {
  7.         // Creacion del objeto AJAX para navegadores no IE
  8.         xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  9.     }
  10.     catch(e)
  11.     {
  12.         try
  13.         {
  14.             // Creacion del objet AJAX para IE
  15.             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  16.         }
  17.         catch(E) { xmlhttp=false; }
  18.     }
  19.     if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
  20.  
  21.     return xmlhttp;
  22. }
  23.  
  24.  
  25. function actualiza(id){
  26.   ajax=objetoAjax();
  27.   ajax.open("POST", "consulta.php",true);
  28.   ajax.onreadystatechange=function() {
  29.   if (ajax.readyState==4) {
  30.   alert(ajax.responseText)
  31.   }
  32.   }
  33.   ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  34.   ajax.send("id="+id)
  35. }

consulta.php

Código PHP:
Ver original
  1. <?php
  2. echo "la consulta con: $_POST[id]";
  3. ?>
  #4 (permalink)  
Antiguo 01/02/2011, 14:57
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Coger variable del select (PHP)

xajax es una herramienta muy potente y sencilla de utilizar, siempre y cuando aprendas las bases.

No muestras el codigo que haces con xajax, pero debería ser algo como esto:

Código PHP:
Ver original
  1. <?php
  2. $xajax = new xajax(); //creamos una instancia de xajax
  3. $xajax->registerFunction("actualiza"); //registramos la funcion actualiza
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
  6. .........(y todo lo que lleva el encabezado html)
  7. <?php
  8. $xajax->printJavascript('ruta donde tengas el xajax');
  9. ?>
  10. <select name="marca" id="marca" style="width:148px;" onChange="xajax_actualiza(this.value)"><option value= "">Elija modelo</option><option value= "S911">Serie 911</option><option value="964"><option value="962">962</option><option value="968">968</option></select>
  11.  
  12.  
  13. <?php
  14. function actualiza($marca){
  15.  $sqlNum="SELECT * FROM ofertas WHERE marca=$marca ";
  16.  $execNum = mysql_query($sqlNum);
  17.  $numRowsConsulta=mysql_num_rows($execNum);
  18.  $respuesta = new xajaxResponse();  //creamos una nueva respuesta xajax
  19.  $respuesta->script("alert('$numRowsConsulta');"); //agregamos una respuesta de tipo java script
  20.  return $respuesta //regresamos nuestra respuesta.
  21. }
  22. ?>
Nota que en el onchange del select llamamos la funcion actualiza que al ser registrada por xajax ahora se llama xajax_actualiza()
  #5 (permalink)  
Antiguo 01/02/2011, 15:55
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Coger variable del select (PHP)

Muchas gracias a los dos por la respuesta :D
Ahora cuando llegue a casa las probaré y os diré algo sobre si me han servido o no.
Por cierto en xajax no podría ser un poco peligroso para los hackers al mostrar ese Select * From ??

Actualizo:
Estoy probando la versión del xajax y me da fallo, me salta este error:

<br />
<b>Warning</b>: mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>C:\xampp\htdocs\xajax_test.php</b> on line <b>85</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\xajax_test.php:85) in <b>C:\xampp\htdocs\xajax_core\xajaxResponse.inc.ph p</b> on line <b>1387</b><br />
<?xml version="1.0" encoding="utf-8" ?><xjx><cmd cmd="as" id="mensaje2" prop="innerHTML">B</cmd></xjx>


----Edito:
Muchísimas gracias a ambos!!! Ya lo he conseguido! Al final me he decantado por xajax XD Muchas gracias amigos :D

Última edición por jisana; 02/02/2011 a las 16:47

Etiquetas: select, 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




La zona horaria es GMT -6. Ahora son las 20:46.