Hola a todos,
A ver, tengo un problemilla y no se como solucionarlo.
Tengo una lista multi-select que carga los datos desde una BD. Hasta aquí ok.
Ahora, por cabecera me están pasando un valor id="valor". Ese valor, puede ser una simple cadena, o varias cadenas separadas por comas. (id='hola' ó bien id='hola,adios,bye'). Este valor, lo capturo en la variable $asig2.
Lo que tengo que hacer, es que, los valores que me pasen en id, me tienen que aparecer seleccionados en la lista multi-select. Si es un único valor, sí me funciona, pero con más de uno no.
El código que tengo es éste:
Código PHP:
<select name="lista[]" size="4" multiple id="lista"> <?php
...
//Operaciones necesarias para cargar la lista desde la BD
while ($rows0 = mysql_fetch_array($result)){
extract ($rows0);
?>
<option value="<?php echo $nombre; ?>"
<?php
$num_selects = substr_count($asig2, ",") + 1;
$i = 0;
$aux = $asig2;
while ($i < $num_selects) {
$pos1 = strpos ($aux, ",");
$aux2 = substr($aux, $pos1, strlen($aux));
if ($aux2 == $nombre){
echo "selected";
}
$aux = $aux2;
$i++;
}
?>
>
<?php echo $nombre; ?></option>
<?php
}
?>
</select>
Espero que me podais ayudar.
Gracias.