Entonces el problema esta en que si el registro que tiene esas opciones lo quiero modificar, obtengo el valor Opc1, Opc2, Opc3, de la base de datos, hago un explode para dividir las opciones.
El problema esta en, como le hago para que dependiendo de las opciones que traigo de la BD me agregue la opcion de selected en donde tenga el valor correspondiente??
este es mi codigo que tengo:
Código PHP:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
<body>
<?
if (!$_POST){
?>
<form action="" method="POST">
Nombre: <input type="text" name="nombre"><br>
Apellidos: <input type="text" name="apellidos"><br>
Email: <input type="text" name="email"> <br>
Cerveza: <br>
<select multiple name="cerveza[]">
<option value="SanMiguel">San Miguel</option>
<option value="Mahou">Mahou</option>
<option value="Heineken">Heineken</option>
<option value="Carlsberg">Carlsberg</option>
<option value="Aguila">Aguila</option>
</select><br>
<input type="submit" value="Enviar datos!" >
</form>
<?
}else{
//Recogemos los valores por POST
echo "Nombre: ". $_POST["nombre"];
echo "<br>Apellidos: ". $_POST["apellidos"];
echo "<br>E-mail: ". $_POST ["email"];
$cervezas=$_POST["cerveza"];
//recorremos el array de cervezas seleccionadas.
for ($i=0;$i<count($cervezas);$i++)
{
$variable.=$cervezas[$i].", "; //le damos el formato Opcion1, Opcion2, etc
}
echo $variable."<br><br><br>"; //este es el valor que se debe de almacenar en la BD
$cuantos = explode(',',$variable);//Hacemos un explode al valor que traemos de la BD
$num=count($cuantos)-1;//Contamos cuantas veces hizo el explode para recorrer los valores
for($i=0;$i<$num;$i++){
echo "valor ".$i." ".$cuantos[$i]."<br>"; //Aqui mostramos los valores que traiamos de la BD
}
//Aqui mostrariamos el mismo form de arriva pero ya con las opciones de selected de acuerdo a los valores de la BD
}
?>
</body>
</html>