Foros del Web » Programando para Internet » PHP »

almacenar el valor de un select en una variable

Estas en el tema de almacenar el valor de un select en una variable en el foro de PHP en Foros del Web. que tal a todos! tengo una consulta, llevo un código que despliega una lista select desde una tabla en mi base datos, para esto utilicé ...
  #1 (permalink)  
Antiguo 19/07/2012, 21:30
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Pregunta almacenar el valor de un select en una variable

que tal a todos! tengo una consulta, llevo un código que despliega una lista select desde una tabla en mi base datos, para esto utilicé un array, ahora lo que necesito hacer es que al seleccionar un dato de la lista y presionar el botón de enviar se actualice otra tabla, asi que lo que necesito es guardar en una variable el valor que se seleccione en la lista y pasar esta variable a un update... alguien sabe como guardar este valor en una variable?
La variable $A corresponde solo al nombre de una categoría.

<div align = center >
<form method="post">
<label> </label>
<br>
<br>
<?php echo"$A;" ?>
&nbsp;&nbsp;&nbsp;


<select name=<?php echo $A; ?>>
<?php while($arreglo1 = mysql_fetch_array($q1)){?>
<option value="<?php echo$arreglo1['id'];?>"><?php echo $arreglo1['calificacion'];?></option>
<?php }?>
</select>


<?php
require_once("conexion3.php");
mysql_query("UPDATE comercios SET calidad='".$arreglo1['calificacion']."' WHERE ID=1", $conexion);
?>



<br>
<br>
<input type="submit" value="Enviar sugerencia">

</form>
</div>

Este código no me da ningun error pero tampoco me realiza el update en mi base de datos
  #2 (permalink)  
Antiguo 19/07/2012, 22:49
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: almacenar el valor de un select en una variable

Buenas, podrias enviar el valor del select por post a la misma pagina, y si existe el envio del formulario hace el update:

archivo: archivo.php
Código PHP:
Ver original
  1. require_once("conexion3.php");
  2.  
  3. if($_POST['enviar'])
  4. {
  5. $valor=$_POST['valor'];
  6. mysql_query("UPDATE comercios SET calidad='".$valor."' WHERE ID=1", $conexion);
  7. }
  8.  
  9. <form action="archivo.php" method="post">
  10. <select name="valor">
  11. <option value="1">1</option>
  12. <option value="2">2</option>
  13. <option value="3">3</option>
  14.  </select>  
  15.  
  16. <input type="submit" name="enviar" value="Enviar sugerencia">
  17. </form>

si entendi lo que querias, esto ta puede servir, solo tenes que cambiar la parte de los options mostrando la lista de la base de datos que queres

Explicacion: al seleccionar uno de la lista del select y luego hacer clic en enviar, te lleva a la misma pagina pero llevando el valor del select por post y actualiza el registro con ese valor solo si hiciste cllic a enviar

fijate si te funciona, saludos.
  #3 (permalink)  
Antiguo 19/07/2012, 23:45
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: almacenar el valor de un select en una variable

hey! muchas gracias, si lo que necesito es actualizar mi tabla según el valor que se escoja del select...

estuve viendo el codigo, creo que puede funcionar muy bien, ya inserte mi lista pero me tira este error "Notice: Undefined index: enviar " en esta linea if($_POST['enviar'])

te dejo el codigo para que lo veas... el archivo.php que pusiste de ejemplo deberia ser en realidad el nombre que yo le tengo a mi archivo verdad?

<?PHP
require_once("conexion3.php");

?>

<div align = center >
<form action="boton.php" method="post">
<select name="valor">
<?php while($arreglo1 = mysql_fetch_array($q1)){?>
<option value="<?php echo$arreglo1['id']?>"><?php echo $arreglo1['calificacion']?></option>
<?php }?>
</select>

<?PHP
if($_POST['enviar'])
{
$valor=$_POST['valor'];
mysql_query("UPDATE comercios SET calidad='".$valor."' WHERE ID=1", $conexion);
}

?>

<input type="submit" name="enviar" value="Enviar sugerencia">
</form>
</div>


como ves le cambié un poco el orden pero es el mismo codigo que sugeriste
  #4 (permalink)  
Antiguo 20/07/2012, 01:26
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: almacenar el valor de un select en una variable

ok, prueba cambiando esto:

Código PHP:
Ver original
  1. if($_POST['enviar'])

por esto:

Código PHP:
Ver original
  1. if( isset($_POST['enviar']) && ($_POST['enviar'] == 'ok'))
  #5 (permalink)  
Antiguo 20/07/2012, 09:16
 
Fecha de Ingreso: julio-2012
Ubicación: Guatemala
Mensajes: 99
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: almacenar el valor de un select en una variable

bien se eliminó el error! sin embargo sigo sin poder capturar en la variable el valor del select ya que cuando le doy enviar el valor sigue sin llegar a mi tabla, de alguna manera tengo que poder seleccionar y almacenar los valores del array $arreglo1['calificacion'] en la lista select o me equivoco?

Etiquetas: mysql, phpmyadmin, 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 03:58.