PDA

Ver la Versión Completa : Paso de Array en variable $_POST


mieltxo
15-06-2005, 18:29:11
Buenas tardes,

Tengo un pequeño problema a la hora de querer pasar un array mediante la variable $_POST y necesitaría saber como podría hacerlo.

El problema esta generado por un conjunto de registros que nombro como claves[]

...
<td><input type="checkbox" name="claves[]" value="" /></td>
...

Quisiera ver el contenido de cada checkbox pero al ser un array lo unico que he conseguido ha sido saber si alguno de ellos esta checkeado o no.. lo cual no me vale.. ya que he de saber de que registro se trata.

if (isset($_POST('claves')) { // ESTO SI FUNCIONA pero yo necesito saber cual es cada registro..

if (isset($_POST[claves[1],claves[2])){ // ME SERVIRIA ALGO ASI PERO ESTO NO FUNCIONA


Gracias por vuestra ayuda, un saludo!

roman
15-06-2005, 18:47:49
En un formulario HMTL, las casillas no marcadas no se mandan al servidor, de manera que tendrías que usar isset() para cada casilla:


<form method='post' action='test.php'>
<table>
<tr>
<td><input type='checkbox' name='claves[a]' value=''></td>
</tr>
<tr>
<td><input type='checkbox' name='claves[b]' value=''></td>
</tr>
<tr>
<td><input type='checkbox' name='claves[c]' value=''></td>
</tr>
<tr>
<td><input type='submit' value='Aceptar'></td>
</tr>
</table>



// test.php

<?
if (isset($_POST['claves']))
{
$claves = $_POST['claves'];
if (isset($claves['a']))
...
if (isset($claves['b']))
...
if (isset($claves['c']))
...
}
?>


// Saludos

mieltxo
15-06-2005, 19:05:34
Muchas gracias por tu respuesta, pero lo tengo bastante complicado:

Esta es la select...

$resultado = mysql_query("SELECT peticion, plazo, nombre, fichero, estado, usuario from trabajos order by plazo" ,$conexion);

Mediante una consulta a una BD...

while ($registro = mysql_fetch_row($resultado)){
echo "<tr>"; ?>
<td><input type="checkbox" name="claves[]" value="" /></td>

Imprimo los resultados...

<?
$cont=0;
while ($cont<6)
{
echo "<td align=center>",$registro[$cont],"</td>";
$cont ++;
}
?>

Y aquí quisiera asignar a cada checkbox el value de la colunna petición de su fila:

<?
if (isset($_POST['claves'){
$claves = $_POST['claves'];
if (isset($claves[¿QUE PONGO AQUI SI NO SE EL Nº DE REGISTROS?]))
{

Luego supongo que sería asignar de algun modo $registro[0] (que sería el valor de la primera columna.) al checkbox con nombre[X]


Muchas gracias por ayudarme

roman
15-06-2005, 19:32:10
<td><input type="checkbox" name="claves[<?=$registro[0]?>]" value="" /></td>


// Saludos

mieltxo
16-06-2005, 09:22:51
Ya esta solucionado. Muchas gracias por tu ayuda ;)