Foros del Web » Programando para Internet » PHP »

Guardar seleccion de checkbox dinamico

Estas en el tema de Guardar seleccion de checkbox dinamico en el foro de PHP en Foros del Web. Hola a todos>>> Necesito q alguien me ayude Estoy generando una tabla dinamica, y dentro de ella una columna contiene checkbox. Hasta aui todo bien. ...
  #1 (permalink)  
Antiguo 01/12/2008, 15:45
 
Fecha de Ingreso: noviembre-2008
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Guardar seleccion de checkbox dinamico

Hola a todos>>> Necesito q alguien me ayude

Estoy generando una tabla dinamica, y dentro de ella una columna contiene checkbox. Hasta aui todo bien. El lio es q necesito saber como una vez selecionado los check deseados guardar esa informacion en bd.
Aqui pongo el codigo q tengo por si les ilustra mejor...



<form name="frm_check" id="frm_check" method="post">


//AQUI CREO TABLA
<?php

/* Desplegamos cada uno de los registros dentro de una tabla */
echo "<table border=1 cellpadding=4 cellspacing=0 >";

/*Priemro los encabezados*/
echo "<tr>
<th colspan=9 bgcolor=#26354A class=tagline align=center><h5> Reportes A Asignar </h5></th>
<tr bgcolor=#26354A class=tagline>
<th > N.Repote </th><th> Sucursal </th><th> Prioridad </th>
<th> Fecha </th><th> Hora </th><th> Descripcion </th><th> Servicio </th><th> Asignar </th> <th> Técnico </th>

</tr>";

/*Y ahora todos los registros */
while($row=mysql_fetch_array($result))
{
echo "<tr>
<td align='center'> $row[id_reporte] </td>
<td> $row[nombre] </td>
<td> $row[prioridad] </td>
<td> $row[fecha_inicio] </td>
<td> $row[hora_inicio] </td>
<td> $row[descripcion] </td>
<td> $row[servicio] </td>


<td aling='center'> <input type=checkbox name='campos[$id]' value='$id' id=checkbox />
<label for=checkbox></label> </td>
<td> - </td>
</tr>";
}
echo "</table>";

?> </form>



He visto ejemplos similares pero no me da la cuenta con ese check metido dentro de esa tabla dinamica... Echale un ojo ha esto y dime q puedo hacer.
Nuevamente muchas gracias
  #2 (permalink)  
Antiguo 01/12/2008, 20:06
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Guardar seleccion de checkbox dinamico

Yo te recomiendo que donde imprimes el checbox, mejor lo trates como arreglo:
Código HTML:
<input type=checkbox name='nombre[]' value='$id' id=checkbox /> 
Tomando en cuenta que al hacer el envio, unicamente llegarán los check box que fueron seleccionados podrías haces algo asi con ellos:
Código PHP:
//Ojo recibo el check box con su nombre pero sin corchetes
for($i=0;$i<count($_POST['nombre']), $i++)
{
 
/*Aqui puedes dar el tratamiento que tu quieras, si por ejemplo tu tabla html trae10 registros y el usuario eligio 1, solo se ejecutará este ciclo una vez*/
   
$q="INSERT INTO tabla VALUES ('".$_POST['nombre'][$i]."')";
   
$r=mysql_query($q);


Espero que con esto pueda resolver tu duda, saludos.
  #3 (permalink)  
Antiguo 22/01/2009, 14:32
 
Fecha de Ingreso: diciembre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Guardar seleccion de checkbox dinamico

Holas tengo una duda sobre chexbox dinamicos...
tengo el programa 1 que llama a una lista de la base de datos lo cual pueden activar un Checkbox para elminiarlo si asi lo dean.. pero no se como mandar al formulario 2 el valor de los checkbox activados

prog 1
Código HTML:
<table>
<tr>
<td>nombre</td>
<td>Eliminar</td>
</tr>
<tr>
		<?
	    
While ($row = mysql_fetch_row($resultado))
{																					
					$p++;		
ECHO "<tr>\n"; 															
ECHO "<td ><input size='40' name=\'var'.$p.'\'  value='$row[3]' ></td>\n";
ECHO "<td><td><input name='var'.$p type='checkbox' value='$No'></td>\n";
ECHO "</tr>\n";
ECHO "</table>\n";
						
?>

[HTML]

En mi programa 2 intente con el siguiente código para probar que reciibiera pero no funcionó
for($i=0;$i<count($_POST['var']), $i++)
{
print $_POST['var'][$i])";
}
[/HTML]

Que estoy haciendo mal?
  #4 (permalink)  
Antiguo 22/01/2009, 14:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardar seleccion de checkbox dinamico

bueno, debes aprender a usar los name correctamente....

Código HTML:
<input type="checkbox" name="foo[]" value="1"/>
<input type="checkbox" name="foo[]" value="2"/>

...

<input type="checkbox" name="foo[]" value="???"/> 
ahora, como estas usando como name un array al recibirlo en PHP, es también un array

Código PHP:
print_r($_POST['foo']); 
por favor, lee el siguiente enlace del manual de PHP

Variables Externas
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/01/2009, 14:18
 
Fecha de Ingreso: diciembre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Guardar seleccion de checkbox dinamico

Mil gracias, lei el manual que me pasaste... alli encontre la respuesta a lo que ando buscando
Código PHP:
<?
$conexio 
mysql_connect("localhost","usuario","clave");
mysql_select_db ("DB"$conexio) OR die ("No se puede conectar  a DB");
$proSQL "SELECT * FROM tabla ORDER BY campo"//selecting products from DB
$pro_query mysql_query($proSQL) or die($proSQL."<br>".mysql_error());
$pro_num mysql_num_rows($pro_query); //number of products

print("<form action='theend.php' method='post'>");

$i=0;
while(
$products mysql_fetch_object($pro_query)){
$i++;
print 
$i;
print(
"<input type='checkbox' name='$i' value='$tabla->campo'> $tabla->campo <br>"); //print a checkbox with the product name

}
print(
"<input type='hidden' value='$pro_num' name='products_number'>");//number of products
print("<input type='submit'></form>");
?>

<?
$i
=0;
while(
$i $products_number){
$i++;
if($
$i){
$message .="$$i<br>";
}
}
print(
"$message");//a list of checked products

?>
Esto le dará una lista de los productos seleccionados por el usuario.
Normalmente lo utilizan para enviar por e-mail con otras informaciones recogidas de la forma.

This will give a list of the products selected by the user.
I usually use it to send by e-mail with other informations collected from the form.
  #6 (permalink)  
Antiguo 28/01/2009, 13:42
 
Fecha de Ingreso: diciembre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 1
Pregunta Respuesta: Guardar seleccion de checkbox dinamico

Tengo el problema de que no me recibe la informacion...
osea nunca me aparece ningun message

es decir siempre me aparece vacio el ciclo que deberia recogerla informacion
no entra a el if como si $$i nunca trajera informacion
Código PHP:
<?
$i
=0;
while(
$i $products_number)
{
     
$i++;
     if($
$i)
  {
     
$message .="$$i<br>"
  }
}
print(
"$message");//a list of checked products
?>
  #7 (permalink)  
Antiguo 28/01/2009, 13:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardar seleccion de checkbox dinamico

mmm... que mal ejemplo hallaste

ya que primero, como regla fundamental... el name no debe tener números al inicio...

como tu ciclo usa $i como numero entero... y lo usas como name ... primero, ese es un error...

el otro problema, es que "crees" que esta bien el código, cuando esta muy mal... ya que usa register_globals

en este caso... supone que $$i debería ser el name de cada <input/> pero no es así...

por el primer error que ya mencione antes, y segundo... debes usar la super global $_POST o $_GET dependiendo del método de tu formulario...

en resumen...

Código PHP:
while (/* ... */)
{
  echo 
'<input name="n' $i '"/>';
}

// ...

while (/* ... */)
{
  echo 
$_POST['n' $i];

espero te sirvas, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 28/02/2009, 19:48
 
Fecha de Ingreso: diciembre-2008
Mensajes: 11
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Guardar seleccion de checkbox dinamico

Quiero agradecerte mucho tu ayuda....
esto fue lo que probe, y resolvi...
mil gracias...

Código PHP:
<?php
//Aqui va el select, etc. Luego: 
while ($row=mysql_fetch_array($PremAnexos))                 
{    
       echo 
"<input name=PremAnexos[] type=checkbox value=".$row['cod_doc']." />".$row['descripcion']." <br />";
}
?>
luego cuando para obtener los valores de los checkbos.

Código PHP:
for($i=0;$i<count($_POST['PremAnexos']);$i++) {
  echo 
$_POST['PremAnexos'][$i] . '<br>';

aqui les dejo, espero le ayude a alguien mas
yo lo encontre aqui mismo en este foro.... patrocinado por "gerson"
  #9 (permalink)  
Antiguo 28/02/2009, 19:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardar seleccion de checkbox dinamico

genial!

como nota adicional, espero se use HTML valido... no mas
Código HTML:
<input name="foo[]"/> 
osea, comillas dobles, etc, etc...

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:05.