Rescatar varios checkbox desde un form
José Miguel Vidal Lavín
jmvidal en sertotal.cl
Jue Ene 8 17:28:08 CLST 2004
muchas gracias, funcionó impecable
b en guliv.cl wrote:
>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
>>
>>
>>
>
>
>
--
Jose Miguel Vidal Lavin User #333809 http://couter.li.org
Departamento de Informática Fono : 6764600
Cobranzas y Servicios Afines 6764622
Bulnes 317, Oficina 612