Hoy tengo un problema con los selects multiples, tengo un selector que hace loop si esta dentro de un foreach(), este selector tiene como nombre tram_content[] y al momento de hacer post, le hago un diagnóstico de campos transportados, este sale con array pero el problema es que quiero separar cada valor elegido en cada selector para luego unirlos por un caracter con la función implode() pero me aparece un error (esto lo hago dentro del loop principal).
Para no dar tanta lora, les mostraré mi script para que me puedan entender:
Este es el selector loopeado
Código PHP:
<form action="<'?=$_SERVER['REQUEST_URI']?>" method="post">
<?
// Modo actual antes de enviar el form
foreach($_POST['id'] as $key => $value) {
?>
<select multiple="multiple" name="tram_content[]">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type="hidden" name="id[]" value="<?=$value?>">
<input type="submit" name="send" value="Enviar">
<?
}
?>
</form>
Ahora el codigo que se procesa
Código PHP:
<?
if(isset($_POST['send'])): // Si se hizo clic en el Boton
// Haciendo nuevo loop
foreach($_POST['id'] as $key => $value) {
//
// Si le hago un segundo foreach a los selectores me devuelve un error
$val = array();
foreach($_POST['tram_content'][$key] as $lm0 => $tr_code) {
$val[$lm0] = $tr_code;
}
$qri = mysql_db_query('db',"UPDATE tabla SET tram_content='".implode(',',$val)."' WHERE id='$value'") or trigger_error(mysql_error(),E_USER_ERROR);
}
endif;
?>
No se, de todos modos seguiré intentando resolver este problema, bueno nos vemos!!!!