Foros del Web » Programando para Internet » PHP »

Atributo value Selectbox

Estas en el tema de Atributo value Selectbox en el foro de PHP en Foros del Web. Buenas, estoy haciendo un formulario con un selectbox, el cual relleno con una consulta a la base de datos, pero tengo un problema, cuando asigno ...
  #1 (permalink)  
Antiguo 10/02/2011, 05:12
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 15 años, 6 meses
Puntos: 0
Atributo value Selectbox

Buenas, estoy haciendo un formulario con un selectbox, el cual relleno con una consulta a la base de datos, pero tengo un problema, cuando asigno el valor al atributo value de cada option, pongo el código que se ve más claro:
Código PHP:
Ver original
  1. <select name="cuenta_contable">
  2. <?php
  3. $query = "SELECT DISTINCT cuenta_contable FROM inventario;";
  4. $result = mysql_query($query);
  5. while ($row = mysql_fetch_row($result)){
  6. echo '<option value='.$row[0].'>'.$row[0].'</option>';
  7. }
  8. ?>
  9. </select>
El problema es que, por ejemplo, un elemento de cuenta contable es "Equipos informáticos", en el nombre que tiene a aparecer en el select lo coge completo (2º $row[0]), pero en "value='.$row[0]", solo me coge la 1ª palabra, es decir, "Equipos", ¿es porque reconoce el espacio y no los admite?¿como lo hago para que coja toda la frase, "Equipos informáticos"?

Última edición por alavaros; 10/02/2011 a las 05:23
  #2 (permalink)  
Antiguo 10/02/2011, 06:03
 
Fecha de Ingreso: junio-2010
Mensajes: 11
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Atributo value Selectbox

Cita:
Iniciado por alavaros Ver Mensaje
Buenas, estoy haciendo un formulario con un selectbox, el cual relleno con una consulta a la base de datos, pero tengo un problema, cuando asigno el valor al atributo value de cada option, pongo el código que se ve más claro:
Código PHP:
Ver original
  1. <select name="cuenta_contable">
  2. <?php
  3. $query = "SELECT DISTINCT cuenta_contable FROM inventario;";
  4. $result = mysql_query($query);
  5. while ($row = mysql_fetch_row($result)){
  6. echo '<option value='.$row[0].'>'.$row[0].'</option>';
  7. }
  8. ?>
  9. </select>
El problema es que, por ejemplo, un elemento de cuenta contable es "Equipos informáticos", en el nombre que tiene a aparecer en el select lo coge completo (2º $row[0]), pero en "value='.$row[0]", solo me coge la 1ª palabra, es decir, "Equipos", ¿es porque reconoce el espacio y no los admite?¿como lo hago para que coja toda la frase, "Equipos informáticos"?


Hola, ¿has probado a poner comillas dobles al escribir la row?
De esta forma:

Código:
echo '<option value='.$row[0].'>"'.$row[0].'"</option>';
A ver si te sirve.
  #3 (permalink)  
Antiguo 10/02/2011, 06:14
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Atributo value Selectbox

Cita:
Iniciado por ChrisGU Ver Mensaje
Hola, ¿has probado a poner comillas dobles al escribir la row?
De esta forma:

Código:
echo '<option value='.$row[0].'>"'.$row[0].'"</option>';
A ver si te sirve.
No es ese $row[0] el q me falla, es el 1º, "value='.$row[0].'" cogería "value=Equipos", y yo quiero q coja "value=Equipos informáticos"
  #4 (permalink)  
Antiguo 10/02/2011, 06:19
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 5 meses
Puntos: 128
Respuesta: Atributo value Selectbox

mmmmm...... chequeaste que en la bd tenga el nombre de "Equipos informaticos"???? si es asi no debiese dar problemas........ a veces la solucion es mas sencilla que el problema.....
  #5 (permalink)  
Antiguo 10/02/2011, 06:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Atributo value Selectbox

¡Solucionado! Como siempre, y como dice bUllan9ebrio, la solución es muy sencilla, así quedaría la línea, por si os pasa lo mismo algún día:

echo '<option value="'.$row[0].'">'.$row[0].'</option>';

Marcado en rojo lo que faltaba, las comillas dobles antes de las simples.

Etiquetas: mysql, select, selectbox, values
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 08:30.