Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] duda sobre <option value=>

Estas en el tema de duda sobre <option value=> en el foro de PHP en Foros del Web. Hola otra vez, esataba probando un poco php ahora que avance un poco mas con lo de las base de datos, y tengo un problema ...
  #1 (permalink)  
Antiguo 28/01/2013, 14:42
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 7 años
Puntos: 2
duda sobre <option value=>

Hola otra vez, esataba probando un poco php ahora que avance un poco mas con lo de las base de datos, y tengo un problema con una lista desplegable que hago con la etiqueta <select>. Mi problema consiste en que necesito seleccionar a un elemento por el id y no por el nombre(ya que pueden estar repetidos) asi que se me ocurrio una manera con el atributo value del option, el cual es el que pasa el valor por la variable $_POST.

mi PHP quedo asi

<html>
<head><title>Editar un registro</title></head>
<body>

<a align="center"><h1>Eliga un item a editar</h1></a>
<form method="POST" action="5.php">
<select name="valor">
<?php
mysql_connect("localhost","root","");
mysql_select_db("db_test");

$consulta="select nombre,id_item from inventario";
$resultado=mysql_query($consulta);

while($fila=mysql_fetch_array($resultado)){
echo '<option value=$fila["id_item"]>'.$fila["nombre"];
}

?>
</select>

<input type="text" name="dueño">
<input type="submit" value="Cambiar"/>
</form>
</body>

</html>


mi proble es que cuando tomo la variable en 5.php por medio de $_POST["valor"] solo aparece la cadena $fila["id_item"], cual puede ser el problema?
en 5.php es solo un <? echo $_POST["valor"]; ?>

gracias por leer, me esta costando mucho aprender lo basico :(
  #2 (permalink)  
Antiguo 28/01/2013, 14:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 10 meses
Puntos: 2534
Respuesta: duda sobre <option value=>

Claro, definitivamente se trata de un tema básico.

Lo único que se pasa por un formulario son los valores que especificas en los atributos value, ningún otro más.

Así que problema no hay, así funciona y ya.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/01/2013, 14:57
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 7 años
Puntos: 2
Respuesta: duda sobre <option value=>

quiza no me entendiste o lo que es mas probable es que yo no te entendi, pero el valor que le asigno a value es lo que contiene la variable $fila["id_item"] la cual valdria entre 1 y 6 (son 6 item) pero cuando voy a 5.php y veo lo que vale el valor $_POST["valor"] me devuelve literalmente la palabra $fila["id_item"] en vez de un valor entre 1 y 6.
  #4 (permalink)  
Antiguo 28/01/2013, 15:02
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 11 años, 9 meses
Puntos: 528
Respuesta: duda sobre <option value=>

Es por la forma en que usas las comillas:
echo '<option value=$fila["id_item"]>'.$fila["nombre"];

echo '<option value="'.$fila['id_item'].'">'.$fila['nombre'];

por cierto, no olvides poner las comillas en el value del option o en los inputs, de lo contrario podrías tener errores:

input value=valor incorrecto

input value="valor" correcto
  #5 (permalink)  
Antiguo 28/01/2013, 15:02
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 8 años, 7 meses
Puntos: 793
Respuesta: duda sobre <option value=>

Cierra correctamente las comillas y las etiquetas.

Código HTML:
Ver original
  1. <option value="id">Contenido</option>
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 28/01/2013, 15:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 10 meses
Puntos: 2534
Respuesta: duda sobre <option value=>

Ah, ya entendí, tienes razón.

No estás concatenando correctamente la variable ya que dentro de comillas sencillas no se evaluará.

Lee lo siguiente: http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 28/01/2013, 15:53
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 10 años, 7 meses
Puntos: 641
Respuesta: duda sobre <option value=>

yo que tú mejor separaba el html de php
Código PHP:
Ver original
  1. <?php
  2.     mysql_connect("localhost","root","");
  3.     mysql_select_db("db_test");
  4.  
  5.     $consulta="select nombre,id_item from inventario";
  6.     $resultado=mysql_query($consulta);
  7.  
  8.     while($fila=mysql_fetch_array($resultado)):
  9. ?>
  10. <option value="<?php echo $fila["id_item"]?>"><?php echo $fila["nombre"]?></option>;
  11. <?php
  12.     endwhile;
  13. ?>
  #8 (permalink)  
Antiguo 28/01/2013, 17:25
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 7 años
Puntos: 2
Respuesta: duda sobre <option value=>

Enserio son muy buenos explicando, muchisimas gracias, ahora leo el articulo de las comillas para no volver a tener mas problemas como este, muchisimas gracias.

Etiquetas: html, mysql, option, registro, select, sql
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 13:26.