Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2012, 05:03
kikeking1
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 15 años, 6 meses
Puntos: 17
Pregunta Envio de datos de varios select multiples dinamicos con mismo nombre

Hola comunidad.

Hoy me encuentro trabado con el desarrollo de un select multiple y necesito que me hecheis una mano, pues este fallo es lo que me traba de terminar un trabajo (estos select pertenecen a un panel de administracion, el cual una vez listo, concluyo).

El problema es simple, y seguramente su solucion tambien lo sea, pero no encuentro la forma. paso a explicar.

Uso el plugins Jquery Upload, el cual me permite subir multiple archivos a la vez, etc.. etc.. hasta aqui todo maravillo, como dije antes, esto va incluido en un panel de administrador, por lo que a cada archivo que subo, necesito añadir ciertos datos (titulo, texto descriptivo, tag especificas).

Todo se genera dinamicamente con javascript al selecionar los archivos, por lo tanto la forma mas sencilla de nombrar mis campos del formulario fue convirtiendolos en array

Código:
<td>
        <input type="text" name="titulo1[]" placeholder="Titulo" >
</td>
<td>
	<textarea name="texto1[]" placeholder="Texto"></textarea>
</td>
y esto, no me crea ningun problema hasta el punto de llegar a las "tag", las cuales muestro con un select multiple, cargando unas tag predefinidas en la bbdd

Código PHP:
<td>
        <select id="clave" name="clave[]"  multiple="multiple"  >
                <? 
        
require "server/php/db.php";
        
$consulta="SELECT id_tag, nombre_tag FROM tags";
        
$miconexion->consulta($consulta);
        while(
$row mysql_fetch_assoc($miconexion->Consulta_ID)){  
        
?>                    
     <option value="<?=$row['id_clave']?>"><?=$row['nombre_clave']?></option>
        <? ?>
        </select>
</td>
Que ocurre entonces?, pues que por defecto, para recojer los datos de un select multiple, ya desarrollamos un array de por si (para recojer todos los valores, y no solo el ultimo selecionado)

Probé a crear un multidimensional así

Código:
 <select id="clave" name="clave[][]"  multiple="multiple"  >
pero el resultado devuelto, es un array multidimensional, pero individual (es decir, cada valor selecionado aparece en su propio apartado)

Ej de print_r:
Array (
[0] => Array ( [0] => 1 )
[1] => Array ( [0] => 2 )
[2] => Array ( [0] => 1 )
[3] => Array ( [0] => 2 )
[4] => Array ( [0] => 3 )
[5] => Array ( [0] => 1 )
)

Lo que necesito es que cada array aparezca junto, en funcion del select procedente, y que se quedara una cosa asi:

Array (
[0] => Array ( [0] => 1 [1] => 2 [2] => 3 )
[1] => Array ( [0] => 2 [1] => 3 [2] => 1 )
)


Cualquier idea u horientacion, me sera de gran utilidad, aunque no solucione el problema en si. Asi que invito a todo aquel que lea este post, aporte cualquier cosa que se le ocurra (con relacion al tema...no seamos trolles xd), le estare muy agradecido por la ayuda.


(Al principio estube a punto de postear en el apartado de Php, pero considero que realmente HTML es su lugar, ya que mi problema no es recojer los datos en si, si no construir la forma en la que los datos se enviaran al servidor.