Queria preguntarles lo siguiente:
Estoy armando un sistema cuya finalidad es recoger titulos de peliculas y colocarles un horario, para luego ser publicadas en otra pagina.
El sistema consta de un listado de titulos, cada uno con un checkbox y una entrada de texto, el usuario selecciona mediante el checkbox los titulos que desea, y luego introduce un texto en cada casillero (el horario y algun detalle de la pelicula).
Una vez hecha a seleccion de titulos y el ingreso de los textos envio los datos en forma de array a un procesador, que me los escribe en pantalla.
El tema es que si yo NO selecciono un titulo, pero SI relleno el texto el form igualmente me genera un indice en el array, por ende
en la pagina donde se muestran los resultados me aparecen campos de texto de mas.
La manera de pasar los datos funciona asi: genero dos arrays, uno tiene los titulos seleccionados. El segundo array envia los textos. En el script receptor hago dos "foreach" y los resultados los coloco en una tabla, quedando paralelos.
Mi pregunta es si puedo crear un solo array, que contenga el titulo y el texto, para luego imprimir en pantalla ambos datos con un solo "foreach".
El codigo que uso es:
Generador/selector:
Código HTML:
<? //Conexion con la base include("../conex.php"); $link=Conectarse(); ?> <form action="procesador.php" method="post" enctype="application/x-www-form-urlencoded" target="_self"> <? # CREO UN LISTADO DE LAS SALAS EXISTENTES EN LA BASE DE DATOS. # CADA SALA GENERA UN TITULO, UN CHECKBOX Y UN INPUT TEXT. # UN BOTON DE VOLVER ME ENVIA LOS DATOS. # EL ENVIO SE REALIZA EN FORMA DE ARRAY. $sSQL="SELECT salas FROM tabla ORDER BY salas ASC"; $result=mysql_db_query("base_de_datos" , $sSQL , $link ); while ($row=mysql_fetch_array($result)) { echo ' <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td align="left" valign="top"> <input type="checkbox" name="disponible[]" value="'.$row["salas"].'"> </td> <td align="left" valign="top" width="30%"> '.$row["salas"].' </td> <td align="left" valign="top"> <textarea name="disponible_text[]" cols="50" rows="2" id="disponible_text[]"></textarea> </td> </tr> </table>'; }; ?> <input name="disponible1" type="submit" value="Enviar"> </form>
Receptor:
Código HTML:
<title>SALAS SELECCIONADAS</title> <table width="50%" border="0" align="center" cellpadding="0" cellspacing="10"> <tr> <td width="25%"> <? if($_POST["checkbox"]); # IMPRIMO EN PANTALLA EL NOMBRE DE LA SALA Y EL TEXTO AGREGADO. foreach($_POST["disponible"] as $indice1 => $valor1) {echo''.$valor1.''; echo''.$indice1.'<br>';}; ?></td> <td> <? foreach($_POST["disponible_text"] as $indice2 => $valor2) {echo''.$valor2.'';echo''.$indice2.'<br>';}; ?></td> </tr> </table>