Foros del Web » Programando para Internet » PHP »

Ayuda con Checkboxes

Estas en el tema de Ayuda con Checkboxes en el foro de PHP en Foros del Web. checkbox tengo creado el siguiente codigo while ($fila=mysql_fetch_array($result)){ echo"<tr>"; echo "<td> <input type='checkbox' name='camp1' value='carta_1_emitida'> </td>"; echo "<td> <input type='checkbox' name='camp2' value='carta_2_emitida'></td>"; echo "<td> <input ...
  #1 (permalink)  
Antiguo 18/08/2008, 21:54
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Ayuda con Checkboxes

checkbox

tengo creado el siguiente codigo


while ($fila=mysql_fetch_array($result)){
echo"<tr>";

echo "<td> <input type='checkbox' name='camp1' value='carta_1_emitida'> </td>";
echo "<td> <input type='checkbox' name='camp2' value='carta_2_emitida'></td>";
echo "<td> <input type='checkbox' name='camp3' value='Se_contacto'></td>";
echo "<td> <input type='checkbox' name='camp4' value='Compro_paquete'></td>";
echo "<td> <input type='checkbox' name='camp5' value='Pago_paquete'></td>";
echo "<td> <input type='checkbox' name='camp6' value='Devolvio_paquete'></td>";
echo "<td> <input type='checkbox' name='camp7' value='Leyo_el_guion'></td>";
echo "<td> <input type='checkbox' name='camp8' value='Se_hizo_distribuidor'></td>";

echo "<td> ", $imagen1," ", $imagen2," ",$imagen3,"</td>";
echo"<td > <font size=1 color= \"#003366\">", $fila['IdProductos']," ", $fila['nombre']," ", $fila['apellido_paterno'], " ", $fila['apellido_materno'],"<br> ",$fila['claveAfiliado'],"</td>";



La idea es registrar de manera simultanea los values seleccionados en la tabla de la base de datos.

actualmente solo puedo registrar de uno y no me registra la clave asignada para identificar a quien pertenece la encuesta.

como lo hago?

salu2.
  #2 (permalink)  
Antiguo 18/08/2008, 23:08
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa Respuesta: un tema avanzado

prueba algo asi en los check que imprimes

echo "<td align=center> <input type=checkbox name=editar[$salida[0]] value='Si'></td><tr>";

y cuando lo mandes en otra pagina debes recorrer en array asi

foreach ($editar as $indice=>$valor)
{
echo $indice."<br>";
}


saludos
__________________
gerardo
  #3 (permalink)  
Antiguo 19/08/2008, 06:50
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: un tema avanzado

Hola !
pudieras ponerme en el ejemplo con dos checkbox para que me quede mas claro? muchas gracias..
  #4 (permalink)  
Antiguo 19/08/2008, 08:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: un tema avanzado

Solo duplica la linea del echo, si te fijas la clave es en enviar el nombre del checkbox con corchetes para que PHP lo interprete como un arreglo.

Saludos.
  #5 (permalink)  
Antiguo 27/09/2008, 12:42
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Pregunta ayuda con para lograr esto

Hola tengo 4 checkbox....que visualizo de manera dinamica los cuales me los muestra dependiendo de los registros que tengo en mi base de datos.
Si tengo 5 registros me muestra en total 20 checkbox 4 para cada registro ahora cuan seleccion un 20 checkbox me interesa que me carge tambien el ID del registro para saber de cliente estoy registrando.

Como lo hago?

gracias..
  #6 (permalink)  
Antiguo 27/09/2008, 13:28
 
Fecha de Ingreso: febrero-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: ayuda con para lograr esto

Si enviaras tu codigo seria mas facil ayudarte
  #7 (permalink)  
Antiguo 28/09/2008, 13:33
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Pregunta Respuesta: ayuda con para lograr esto

<?
include 'conexion.php';

$db=mysql_select_db($base,$conexion);
$table_name="registro_negocios";
$imagen="<img src='imagenes/attribs2.gif' border='0' width='17' height='18'>";
$imagen1="<img src='imagenes/list.gif' border='0' width='17' height='18'>";
$imagen2="<img src='imagenes/icon_edit_admin.gif' border='0' width='17' height='18'>";
$conexion=mysql_connect($servidor,$usuario,$passwo rd)or die ("No se puede conectar");
$db=mysql_select_db($base,$conexion);

$sql="SELECT *FROM $table_name LIMIT 20";
$result=mysql_query($sql,$conexion);

while ($fila=mysql_fetch_array($result)){
$i=$fila['claveAfiliado'];
$_SESSION['claves']=$i;
echo" $i ";
echo"<tr >";
echo "<td> <input type='checkbox' name='camp1' value='carta_1_emitida' ></td>";
echo "<td> <input type='checkbox' name='camp2' value='carta_2_emitida' ></td>";
echo "<td> <input type='checkbox' name='camp3' value='Se_contacto' ></td>";
echo "<td> <input type='checkbox' name='camp4' value='Compro_paquete'></td>";
echo "<td> <input type='checkbox' name='camp5' value='Pago_paquete'></td>";
echo "<td> <input type='checkbox' name='camp6' value='Devolvio_paquete'></td>";
echo "<td> <input type='checkbox' name='camp7' value='Leyo_el_guion'></td>";
echo "<td> <input type='checkbox' name='camp8' value='Se_hizo_distribuidor'></td>";
echo "<td> <input type='checkbox' name='camp9' value='Domicilio_equivocado'></td>";
echo "<td> <input type='checkbox' name='camp10' value='e_mail_equivocado'></td>";
echo "<td> <input type='checkbox' name='camp11' value='Eliminar_registro'></td>";

echo "<td> ",'<a href="encuestaNEG.php?id='.$fila['claveAfiliado'].'">',"<img src='imagenes/list.gif' border='0' width='17' height='18'>","</a>","</td>";
echo "<td> ",'<a href="resultadosProdAdmin.php?id='.$fila['claveAfiliado'].'">',"<img src='imagenes/icon_edit_admin.gif' border='0' width='17' height='18'>","</a>","</td>";
echo"<td > <font size=1 color= \"#003366\">", $fila['IdNegocios']," ", $fila['nombre']," ", $fila['apellido_paterno'], " ", $fila['apellido_materno'],"<br>", $fila['claveAfiliado'],"</td>";
echo"<td> <font size=1 color= \"#003366\">", $fila['calle']," ", $fila['numero']," ", $fila['piso'],"<br> ", $fila['localidad'],"</td>";
echo"<td> <font size=1 color= \"#003366\"><a href=\"mailto:",$fila['email'],"\">", $fila['email'],"</a><br> ", $fila['fijo'],"</td>";
echo"<td> <font size=1 color= \"#003366\">", $fila['fecha'],"<br> ",$fila['IP']," </td>";


echo"</tr>\n";
}
mysql_free_result($result);
mysql_close();
?>
</table>

Este es el codigo que tengo actualmente aqui lo que me hace es mostrarme el ultimo registro de claveAfiliado pero no me lo muestra en el orden con el que debe de trabajar.
como lo resuelvo.?
  #8 (permalink)  
Antiguo 28/09/2008, 17:21
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Pregunta Respuesta: ayuda con para lograr esto

La idea es poder trabajar con los checkbox identificandolos con el id o claveAfiliado gracias..

Alguien con experiencia en este tema
  #9 (permalink)  
Antiguo 28/09/2008, 17:46
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: un tema avanzado

de que forma me mostrara el campo para identificar la claveAfiliado?
para saber aquien va corresponder esta seleccion, gracias..


saludos
  #10 (permalink)  
Antiguo 28/09/2008, 18:24
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: un tema avanzado

echo '<input type="checkbox" name="nombre['.$fila['claveAfiliado'].'][]" value="talcosa" />';

Luego para recogerlo:
$_POST['nombre'][aquilaclavedelafiliado][el numero del checkbox].

Por ejemplo:
echo "<td> <input type='checkbox' name='camp[".$fila['claveAfiliado']."][]' value='carta_1_emitida'> </td>";

Para conseguir el value de ese checkbox:
echo $_POST['camp'][1][0] //imprime carta_1_emitida

El 1 es la clave del afiliado, puedes ser lo que sea.

Ya con un foreach recoges todos los checkboxes.
  #11 (permalink)  
Antiguo 28/09/2008, 20:58
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ayuda con para lograr esto

Gracias por duplicar temas: http://www.forosdelweb.com/f18/tema-avanzado-616338/

Saludos,
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 00:40.