Rescatar varios checkbox desde un form

b en guliv.cl b en guliv.cl
Jue Ene 8 17:23:25 CLST 2004


Segun veo ... me da la impresion que hay un serio problema

si quieres hacer selecciones multiples usa checkbox, si quieres hacer
selecciones excluyentes usa radio

ejemplo

<html>
<body><form>
<input type="checkbox" name="a1" value="1">
<input type="checkbox" name="a2" value="2">
<br>
<input type="radio" name="a" value="1">
<input type="radio" name="a" value="2">
</form>
</body>
<html>

ahora ... respecto al problema de José Miguel veamos que lo he hecho yo en
algunas ocaciones

while ($dato=mysql_fetch_array($query))
{
    $i++;
    echo "<tr><td>\n"
    ."<input type=\"checkbox\" name=\"opcion_$i\" value=\"$dato[Campo1]\">\n"
    ."</td></tr>\n";
}

esto generaria algo asi mas o menos

<tr><td>
<input type="checkbox" name="opcion[1]" value="1">
</td></tr>
<tr><td>
<input type="checkbox" name="opcion[2]" value="2">
</td></tr>
<tr><td>
<input type="checkbox" name="opcion[3]" value="3">
</td></tr>

y finalmente para rescatar estos valores puede hacer algo mas  menos asi

<?php
for($i=0; $i< cuont($opcion), $i++)
{
    echo "el valor de $i es: ".$opcion[$i]."<br>\n";
}

y finalmente te queria hacer una acotacion ... en vez de hacer esto

print ("<b>algo de texto en negritas<br>");
print ("algo de texto en negritas<br>");
print ("algo de texto en negritas<br>");
print ("algo de texto en negritas</b><br>");

has esto

print ("<b>algo de texto en negritas<br>"
."algo de texto en negritas<br>"
."algo de texto en negritas<br>"
."algo de texto en negritas</b><br>");

lo ultimo a mi me acomoda bastante y se ve ordenado ... no se UDs.

/**************************\
 *  Boris Cruchet C.      *
 *  Co-Fundador GULiV     *
 *  Linux Counter 279256  *
\**************************/

> Creo que no lo tienes claro.
>
> Si tus checkbox tienen el mismo nombre, entonces cuando leas el valor de
> ese nombre te entregara _UN_ solo valor. El valor del checkbox que esta
> en checked.
>
> Para que tengas varios valores tienes que asignarles distintos nombres.
>
> El jue, 08-01-2004 a las 16:27, José Miguel Vidal Lavín escribió:
>> eso me queda claro pero cuando tengo muchos chekbox con el mismo nombre
>> no se me devuelve como un arreglo?
>> lo que pasa es que el código HTML lo genero leyendo datos desde una DB:
>>
>>
>>     while ($row = mysql_fetch_array($result))
>>     {
>>         print( "<tr>\n" );
>>         print( "<input name='num_operacion' type='Hidden'
>> value=$row[0]>" );
>>         print( "<td bgcolor = " . $color . "><font size=2><input
>> name='factura' type='Checkbox' value=$row[0]></td>\n" );
>>         print( "<td bgcolor = " . $color . "><font size=2>" . $row[0] .
>> "</td>\n" );
>>         print( "<td bgcolor = " . $color . "><font size=2>" . $row[1] .
>> "</td>\n" );
>>         print( "<td bgcolor = " . $color . "><font size=2>" . $row[2] .
>> "</td>\n" );
>>         print( "<td bgcolor = " . $color . "><font size=2>" . $row[3] .
>> "</td>\n" );
>>         print( "<td bgcolor = " . $color . "><font size=2>" . $row[4] .
>> "</td>\n" );
>>         print( "<td bgcolor = " . $color . "><font size=2>" . $row[5] .
>> "</td>\n" );
>>         print( "<td bgcolor = " . $color . "><font size=2>$" .
>> number_format($row[6], 0, '.', ',') . "</td>\n" );
>>         print( "<td bgcolor = " . $color . "><font size=2>" . $row[7] .
>> "</td>\n" );
>>         print( "</tr>\n" );
>>      }
>>
>> entonces no podré leer desde el otro lado n checkbox, es ese el
>> problema.
>>
>> gracias
>>
>> Mauro A. Morales M. wrote:
>>
>> >Si la seleccion de los checkbox es _unica_ entonces los checkbox deben
>> >llevar el mismo nombre con distintos values.
>> >
>> >Si la selccion es multiple entonces llevan distintos nombres con
>> >disintos values.
>> >
>> >EJ:
>> >
>> ><input type=checkbox name=check1 value=0>
>> ><input type=checkbox name=check1 value=1>
>> >
>> >Asi cuando eligas, solo te va a permitir eligir 1.
>> >
>> >Desdel el PHP que recibe el valor, $unico = $_POST['check1']
>> >
>> >Para el segundo caso, EJ:
>> >
>> ><input type=checkbox name=check1 value=0>
>> ><input type=checkbox name=check2 value=1>
>> >
>> >Asi, te permitira elegir los dos, si es el caso.
>> >
>> >Desdel el PHP que recibe el valor;
>> >$primero = $_POST['check1']
>> >$ segundo = $_POST['check2']
>> >
>> >Saludos,
>> >
>> >
>> >
>> >
>> >El jue, 08-01-2004 a las 15:35, José Miguel Vidal Lavín
>> escribió:
>> >
>> >
>> >>Señores
>> >>
>> >>    Hago mi primer participación en este mailing list que ha estado
>> un
>> >>poco lento en movimientos asi que aprovecho de pedirles su ayuda en un
>> >>problema muy trivial que tengo pero que no he podido resolver.
>> >>No me habia tocado el caso actual ni tanpoco tengo mucha experiencia
>> en
>> >>php, el problema es el siguiente:
>> >>
>> >>tengo generado un formulario con varios chekbox que debo seleccionar
>> >>para realizar operaciones a solo los registros que el usuario ha
>> >>marcado, mando la información via POST y no se recuperar cuales
>> checkbox
>> >>fueron los seleccionados ni con que valor fueron enviados, alguien me
>> >>puede orientar?, si necesitan mas información sobre mi problema se
>> los
>> >>enviaré.
>> >>
>> >>saludos y gracias de antemano.
>> >>
>> >>
> --
> Mauro A. Morales M.		Adsum S.A, Santiago - Chile
> mailto:mmorales[@]adsum.cl	http://www.adsum.c
>