Buenas tardes, aki con un detalle que no he podido resolver. Pongo los valores de un campo de una tabla en un select multiple y necesito que los valores de otra tabla cuyos datos se llenaron previamente
con la primera esten seleccionados, cuando se acceda al formulario para MODIFICACIÓN. Lo estoy haciendo de la siguiente manera, pero resulta que al seleccionar sólo un elemento y al darle al boton MODIFICAR,
se seleccionan todos los que estan debajo de él. Primero consulto en la tabla
a modificar el campo "servicios", y como el registro fue llenado de un select multiple anteriormente, estan separados por comas, por lo que utilizo un explode:
Código PHP:
$sql = "select * from ordenes";
$res = mysql_query($sql);
$row = mysql_fetch_array($res);
$servicios = explode(",",$row[servicios]);
Luego con otra consulta lleno el select múltiple con la tabla en donde están todas las opciones para selecionar en caso de modificacion:
Código PHP:
echo 'Modifique el o los Tipos de Servicio:';
$reserv = mysql_query("select descripc from tiposerv");
while ($rowserv = mysql_fetch_array($reserv)){
if (in_array($rowserv[descripc],$servicios))
$seleccionado .= "selected";
else
$seleccionado .= "";
$selectserv .= '<option '.$seleccionado.'>'.$rowserv[descripc].'</option>';
}
echo '<SELECT MULTIPLE NAME="serv[]">';
echo $selectserv;
echo '</SELECT>';
Como te digo, el problema es que NO me deja seleccionados sólo los que están en el registro de la tabla a modificar, sino
todas las opciones del select multiple hacia abajo, esto en caso de que seleccione el primer elemento, o del segundo (selecciona ese y todos los de abajo), o el tercero (selecciona ese y todos los de abajo), y asi... Por tu Valiosa Ayuda, Muchas Gracias!