Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/04/2014, 05:58
Qazser
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Pasar fila de tabla html a otro archivo php

He estado jugueteando y ordenando tu código

Tengo una noticia mala y una buena.

La mala es que debes tener en cuenta que estas enviando un formulario con todos los campos, asi que todos los campos se van a enviar por el post, es decir, tienes que vivir con que $_POST['tabla'] te traiga todo.

La noticia buena es que si ordenas los nombres y valores de los inputs de esta manera:

Código PHP:
//Aqui arriba hay un bucle que define cabeceras, voy al cuerpo de la tabla:
            
for ($i 0$i $nfilas$i++) {
                echo 
"<tr><td><input type='radio' value='".$fila['Id']."' name='modificacion'></td>";
                foreach (
$fila as $nomcampo => $valcampo) {
                    echo 
"<td>".$valcampo."</td>";
                    echo 
"<input type='hidden' value='".$valcampo."' name='tabla[$fila['Id']][$nomcampo]'/>";//AQUI ES DONDE ME GUARDA TODO LO RELEVANTE EN UNA MATRIZ
                
}
                echo 
"</tr>";
            } 
Tu pides simplemente tienes que hacer esto

$mod = $_POST['modificacion'];
$linea = $_POST['tabla'][$mod];

Ahora la variable $linea equivale a lo que tu pedistes.

La respuesta era fácil realmente, no me concentré lo suficiente ayer en entenderlo, simplemente no uses un contrador para los campos hidden, usa el mismo id que usas como valor en el radio, así tienes un identificador común.

Ah, y una cosa...Mete todo en los <td>, así tu código es más óptimo.

Optimizado seria así:

Código PHP:
//Aqui arriba hay un bucle que define cabeceras, voy al cuerpo de la tabla:
            
for ($i 0$i $nfilas$i++) {
                echo 
"<tr><td><input type='radio' value='".$fila['Id']."' name='modificacion'></td>";
                foreach (
$fila as $nomcampo => $valcampo) {
                    echo 
"<td>".$valcampo."<input type='hidden' value='".$valcampo."' name='tabla[".$fila['Id']."][".$nomcampo."]'/></td>";//AQUI ES DONDE ME GUARDA TODO LO RELEVANTE EN UNA MATRIZ
                
}
                echo 
"</tr>";
            } 
__________________
Pautas php:
No usar libreria mysql, usa mysqli; Separar siempre los controladores de la vista; Procedual es feo, ama los objetos