Foros del Web » Programando para Internet » PHP »

Select multiple y opciones seleccionadas

Estas en el tema de Select multiple y opciones seleccionadas en el foro de PHP en Foros del Web. Bueno tengo algo así Código PHP: $sql = "select temaClave from tema" ; $query = mysql_query ( $sql ); echo  "<select name='tema[]' multiple>" ; while ( $row_tema  =  mysql_fetch_array ( $query ...
  #1 (permalink)  
Antiguo 19/04/2003, 19:50
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 21 años
Puntos: 2
Select multiple y opciones seleccionadas

Bueno tengo algo así

Código PHP:
$sql="select temaClave from tema";
$query=mysql_query($sql);
echo 
"<select name='tema[]' multiple>";
while (
$row_tema mysql_fetch_array($query)){
    echo 
"<option value='".$row_tema["temaClave"]."' ";
    if (
in_array($row_tema["temaClave"],$row_temaS)){echo "selected";}
    echo 
">".$row_tema["temaNombre"]."</option>";
}
echo 
"</select>"
donde $row_temaS es un mysql_fetch_array que hago de una consulta de SELECT temaClave from proyectotema where proyectoClave=10

Entonces, cada elemento de la tabla tema es comparado con el arreglo de los temas seleccionados para un proyecto. Funciona, pero solo me reconoce el primer elemento seleccionado, es el unico que pone como seleccionado y los demás no. Por que creen que pase, ven algo mal?
  #2 (permalink)  
Antiguo 19/04/2003, 20:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm debería ir .. Te has fijado en el código HTML que se genera? ..

Ves los Options que corresponden con su SELECTED?
<option value='tal' SELECTED>

Para ayudarte a ver mejor el código HTML que generas .. usa:
Código PHP:
echo ">".$row_tema["temaNombre"]."</option>\n"
(el \n a cada salto de línea .. que corresponda en cada instrucción completa ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 19/04/2003, 20:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Ahora me fijé .. dices q $row_temaS viene de un mysql_fetch_array() ..


Prueba una cosa:

Código PHP:
While($row=mysql_fetch_array($sql)){
  
$row_temaS[]=$row['temaClave']; //generamos el array ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 19/04/2003, 20:12
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 21 años
Puntos: 2
Lo genera así

Código PHP:
<select name='tema[]' multiple><option value='1' selected>ASP</option>
<
option value='2' >PHP</option>
<
option value='3' >C</option>
<
option value='4' >C++</option>
<
option value='5' >JAVA</option>
</
select
Cuando en realidad no solo ASP esta seleccionado, sino todos !!
  #5 (permalink)  
Antiguo 19/04/2003, 20:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues repasa como generas el array $row_temaS .. porqué segun lo que genera solo se está cumpliendo en un indice de ese array ..

Puedes comprobar el array $row_temaS con un bucle tipo:

Código PHP:
foreach($row_temaS as $temas){
  echo 
$temas."<br>";

Corre ese bucle antes de atacar tu rutina .. a ver si ese array es correcto .. (y prueba usar la alternativa que te comenté para generar ese array .. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 19:27.