Foros del Web » Programando para Internet » PHP »

Almacenar valor de un select en BBDD sin cambiar de página PHP

Estas en el tema de Almacenar valor de un select en BBDD sin cambiar de página PHP en el foro de PHP en Foros del Web. ¡Saludos! Me ha surgido una duda en mi proyecto. Dispongo de un Select. Cuando el usuario seleccione una opción de ese Select, me gustaría hacer ...
  #1 (permalink)  
Antiguo 13/10/2011, 10:35
 
Fecha de Ingreso: octubre-2011
Mensajes: 25
Antigüedad: 12 años, 6 meses
Puntos: 0
Almacenar valor de un select en BBDD sin cambiar de página PHP

¡Saludos!

Me ha surgido una duda en mi proyecto.

Dispongo de un Select. Cuando el usuario seleccione una opción de ese Select, me gustaría hacer una consulta que almacenara en una tabla dicho valor. El problema es que estoy haciendo un análisis de un foro, y por tanto, aparece un select por cada post (es decir, suponemos que hay unos 100 mensajes por página). Sé que la solución fácil es enviar la información a otra página PHP por el método POST, recogerla y almacenarla. Pero no me gustaría perder la información actual, es decir, me gustaría poder seleccionar y almacenar sin perder la página (para que me deje hacer más selecciones). ¿Es posible? Mi cabeza piensa que no, puesto que PHP es del lado del servidor. También he pensado en Ajax, pasándole this.value en el evento onchange.

Gracias de antemano!
  #2 (permalink)  
Antiguo 13/10/2011, 10:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Almacenar valor de un select en BBDD sin cambiar de página PHP

Efectivamente tienes que usar AJAX para eso, no hay más formas para hacer lo que propones (no recargar la pagina) más que AJAX.

Saludos.
  #3 (permalink)  
Antiguo 13/10/2011, 11:22
 
Fecha de Ingreso: octubre-2011
Mensajes: 25
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Almacenar valor de un select en BBDD sin cambiar de página PHP

GatorV, gracias por tu pronta respuesta. Mi duda es que creo que no se pueden hacer consultas desde JavaScript, por ser del lado del cliente, por lo que supongo que tendría que llamar desde Ajax a otra o la misma página de PHP y pasarle este parámetro, con lo cual, al fin y al cabo, tendría que recargar la página, ¿no?
  #4 (permalink)  
Antiguo 13/10/2011, 11:37
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: Almacenar valor de un select en BBDD sin cambiar de página PHP

puedes ejecutar codigo con el uso de javascript o jquery.

yo tengo este codigo de jquery para ejecutar algo cuando ocurra algun evento en la pagina.
Código HTML:
Ver original
  1. <script type="text/javascript" src="jquery.js"></script>
  2.  
  3. <script type="text/javascript">
  4.    $(function(){   //inicias para usar jquery
  5.        $("#select").bind("change",function(){  //cuando cambia el select
  6.            var valor = $("#select:selected").attr("value");   //sacar el valor del select seleccionado
  7.            $("#ejecutar").attr("src","pagina.php?val=" + valor); //cambiar la url del frame, lo que hara que se ejecute, se envia el valor por _GET
  8.        });
  9.    });
  10.  
  11.  
  12. <select id="select">
  13.     <option value="1">1</option>
  14.     <option value="2" selected="selected">2</option>
  15.  
  16. <iframe id="ejecutar" src="" width="0" height="'0" border="0">
__________________
To the end....
  #5 (permalink)  
Antiguo 13/10/2011, 11:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Almacenar valor de un select en BBDD sin cambiar de página PHP

No para nada, desde Javascript es donde haces el trigger y haces el llamado AJAX a tu pagina destino.
  #6 (permalink)  
Antiguo 13/10/2011, 11:53
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: Almacenar valor de un select en BBDD sin cambiar de página PHP

Voy a corregir el otro codigo me equivoque...

pagina_inicial.php
Código HTML:
Ver original
  1. <script type="text/javascript" src="jquery.js"></script>
  2.  
  3. <script type="text/javascript">
  4.                $(function(){   //inicias para usar jquery
  5.                    $("#select").bind("change",function(){  //cuando cambia el select
  6.                        var valor = $("#select option:selected").attr("value");   //sacar el valor del select seleccionado
  7.                        $("#ejecutar").attr("src","otra_pagina.php?val=" + valor); //cambiar la url del frame, lo que hara que se ejecute, se envia el valor por _GET
  8.                    });
  9.                });
  10.             </script>
  11.              
  12.              
  13.             <select id="select">
  14.                 <option value="1">uno</option>
  15.                 <option value="2" selected="selected">dos</option>
  16.             </select>
  17.              
  18.             <iframe id="ejecutar" src="" width="300" height="300">
  19.             </iframe>



otra_pagina.php
Código PHP:
<?php
    
if(isset($_GET['val'])){
        echo 
$_GET['val'];
    }
?>
__________________
To the end....

Etiquetas: almacenar, bbdd, página, select, tabla, usuarios
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 22:47.