Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Cargar Datos PHP y seleccionar varios con Checkbox

Estas en el tema de Cargar Datos PHP y seleccionar varios con Checkbox en el foro de PHP en Foros del Web. Bueno es mi primer tema veran estoy en un proyecto escolar, y estoy atorado en una parte, bueno a la duda Veran tengo mi base ...
  #1 (permalink)  
Antiguo 09/05/2013, 22:52
 
Fecha de Ingreso: mayo-2013
Mensajes: 8
Antigüedad: 6 años, 10 meses
Puntos: 0
Cargar Datos PHP y seleccionar varios con Checkbox

Bueno es mi primer tema veran estoy en un proyecto escolar, y estoy atorado en una parte, bueno a la duda

Veran tengo mi base de datos en SQL, y ya tengo mi conexion con la base de datos por medio de php, ya puedo cargar datos, etc.

Pero necesito hacer una lista con mis datos; (esto lo soluciono haciendo un arreglo con los datos y recorrerlo para mostrar todos los datos), pero a su vez cada datos deben de tener un checkbox para poder ser seleccionados

para ser mas claros, necesito cargar a todos mis empleados y seleccionar solo a ciertos empleados y mandarlos por medio de un form(o algun otro metodo) para insertarlos en mi base de datos

un ejemplo de como quiero que quede seria

checkbox Datos de empleado
checkbox Datos de empleado
checkbox Datos de empleado
checkbox Datos de empleado
checkbox Datos de empleado
---------Cancelar------------Enviar-----------

Espero y me puedan ayudar
  #2 (permalink)  
Antiguo 09/05/2013, 23:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.602
Antigüedad: 18 años
Puntos: 1283
Respuesta: Cargar Datos PHP y seleccionar varios con Checkbox

Hola:

No estoy seguro de haberte entendido, pero los checkboxes deberían tener el mismo nombre (atributo name), y terminado en un juego de corchetes para que php lo reconozca como un arreglo...

<form action="destino.php" method="post" ...>
<!-- sección php -->
for ($i = 0, $total = count($nombres); $i < $total; $i++)
echo "<label>$nombres[$i] <input type='checkbox' name='nombre[]' value='$nombres[$i]' /></label>";
...
</form>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 09/05/2013, 23:25
 
Fecha de Ingreso: mayo-2013
Mensajes: 8
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Cargar Datos PHP y seleccionar varios con Checkbox

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

No estoy seguro de haberte entendido, pero los checkboxes deberían tener el mismo nombre (atributo name), y terminado en un juego de corchetes para que php lo reconozca como un arreglo...

<form action="destino.php" method="post" ...>
<!-- sección php -->
for ($i = 0, $total = count($nombres); $i < $total; $i++)
echo "<label>$nombres[$i] <input type='checkbox' name='nombre[]' value='$nombres[$i]' /></label>";
...
</form>

Saludos
Ok si te entiendo al momento de generar los nombres genero los checkbox y estos tendran el valor de los datos, en caso de que quiero que tengan los ID's de los empleados supongo que tengo que cargar los datos de los ID's y ponerle el mismo nombre hasta ally creo que tengo entendido

echo "<label>$ID[$i] <input type='checkbox' name='ID[]' <----va vacio entre corchetes??

y aprovechando tu ayuda, como seria el envio a la base de datos ya que son varios datos que hay que cargar en la base de datos, me hechas un cable?? gracias
  #4 (permalink)  
Antiguo 09/05/2013, 23:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.602
Antigüedad: 18 años
Puntos: 1283
Respuesta: Cargar Datos PHP y seleccionar varios con Checkbox

Hola:

El juego de corchetes debería ser vacío, aunque supongo que también podrías usar el índice, aunque nunca lo he usado de esa manera.

Sobre la gestión de la base de datos, dependerá de los cambios que quieras hacer, por ejemplo, para borrar esos registros sería algo así:

$sql = "delete from $tuTabla where id in (".implode(",", $_POST["id"]).")";

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 12/05/2013, 00:41
 
Fecha de Ingreso: mayo-2013
Mensajes: 8
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Cargar Datos PHP y seleccionar varios con Checkbox

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

El juego de corchetes debería ser vacío, aunque supongo que también podrías usar el índice, aunque nunca lo he usado de esa manera.

Sobre la gestión de la base de datos, dependerá de los cambios que quieras hacer, por ejemplo, para borrar esos registros sería algo así:

$sql = "delete from $tuTabla where id in (".implode(",", $_POST["id"]).")";

Saludos
Espero me puedas ayudar, creo que con esto ya terminare esta parte y dare por terminado el tema

Bien tengo esto
FORM
Codigo php

echo "<div align='center'>MESEROS</div>";
echo "<hr size='5' color='#0099FF' width= 75% align=center/>";
while ($row = mysql_fetch_row($query1)){
echo "<label><input type='checkbox' name='idempleado[]' value='[$row[0]]' /> $row[1] $row[2] $row[3]<br/></label>";}


Fin codigo
fin Form

Esto hace lo tuyo que me mostrabas con un for, pero se me hizo mas facil con un while, ya crea mi lista de empleados con su checkbox

El checkbox recibe el valor del ID del empleado (ya que llenare mi tabla con los ID)


del lado receptor tengo lo siguiente
<?php
include("conexion.php");

mysql_query("INSERT INTO rh(idRH,empleado_idempleado) VALUES ('{$_POST['idRH']}','{.implode(",",$_POST["idempleado"]).}')",$link);

?>

mi tabla se llama rh, y pues idRH sera un valor que sera igual para todos los empleados que se anexen en el momento(este valor sera recibido de igual manera solo que aun no lo implemento supongamos que orita tendra el valor de 1)

mi pregunta es donde estoy mal, dado que dreamweaver me marca error de sintaxis espero me puedas ayudar y decirme si esto usando bien el implode, o como deberia colocarlo para poder insertar todos los checkboxs en mi BD

gracias de antemano
  #6 (permalink)  
Antiguo 12/05/2013, 01:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.602
Antigüedad: 18 años
Puntos: 1283
Respuesta: Cargar Datos PHP y seleccionar varios con Checkbox

Hola:

Parece ser un error en la concatenación del implode... ya no vale poner entre paréntesis el implode, sino deberías cerrar comillas dobles, poner .implode(...)."-- el resto --"

o crear antes la cadena de ids...

$ids = implode(",",$_POST["idempleado"]);

mysql_query("INSERT INTO rh(idRH,empleado_idempleado) VALUES ('{$_POST['idRH']}','{$ids')",$link);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 13/05/2013, 22:35
 
Fecha de Ingreso: mayo-2013
Mensajes: 8
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Cargar Datos PHP y seleccionar varios con Checkbox

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Parece ser un error en la concatenación del implode... ya no vale poner entre paréntesis el implode, sino deberías cerrar comillas dobles, poner .implode(...)."-- el resto --"

o crear antes la cadena de ids...

$ids = implode(",",$_POST["idempleado"]);

mysql_query("INSERT INTO rh(idRH,empleado_idempleado) VALUES ('{$_POST['idRH']}','{$ids')",$link);

Saludos
has de decir como chin** este cab*** hahhaha gracias por toda tu ayuda XD

pero ahora tengo el problema que es lo que no se como solucionar


tengo mis codigos

//CODIGO DE ENVIO
<form id="form1" name="form1" method="post" action="generardocumento3.php">
Código PHP:
  <?php

echo "<div align='center'>MESEROS</div>";
echo 
"<hr size='5' color='#0099FF' width= 75% align=center/>";
while (
$row mysql_fetch_row($query1)){
echo 
"<label><input type='checkbox' name='idempleado1[]' value='$row[0]' /> $row[1] $row[2] $row[3]<br/></label>";}

echo 
"<div align='center'>GALOPIN</div>";
echo 
"<hr size='5' color='#0099FF' width= 75% align=center/>";
while (
$row mysql_fetch_row($query6)){
echo 
"<label><input type='checkbox' name='idempleado6[]' value='$row[0]' /> $row[1] $row[2] $row[3]<br/></label>";}




?>
</form>

//CODIGO PARA INSERTAR

Código PHP:
<?php
include("conexion.php");

//$idRH = $_POST['idRH']; 
$idRH '2';

$idempleado1 $_POST['idempleado1']; // definimos una variable corta 

$con_comas1 implode","$idempleado1 ); // separamos cada uno de los valores por una coma y esta variable convertirá el array $movimiento en una cadena

echo $con_comas1;//imprimi para ver lo que recibo

mysql_query("INSERT INTO rh('idRH','empleado_idempleado') VALUES ('$idRH','".$con_comas1."')",$link) or die (mysql_error());// le pasamos la cadena que creamos anteriormente 


?>
El problema que me arroja mysql_error(); es

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''idRH','empleado_idempleado') VALUES ('2','1,2,5')' at line 1


ya que obviamente lo esta guardando como una cadena separada por comas y solo tiene que tener dos datos es decir cada valor entre las comas 1,2, y 5


//de momento solo estoy mandando el array idempleado1[] y solo selecciono datos de dicho arreglo para hacer las pruebas
espero me puedas dar una ayuda



////////////////////////////////////////////////////////////////////////////////////////////////////

Al final pude solucionar mi problema y me quedo lo siguiente para aquellos que tengan alguna vez el mismo problema

<?php
include("conexion.php");

$idRH = 2;

$idempleado1 = $_POST['idempleado1']; // definimos una variable corta


for($i=0;$i<count($idempleado1);$i++)
{

mysql_query("INSERT INTO rh (idRH, empleado_idempleado) VALUES ($idRH,$idempleado1[$i])",$link) or die (mysql_error());
}

?>
Doy por terminado y solucionado este tema

Última edición por Danzero; 14/05/2013 a las 22:11

Etiquetas: checkbox, mysql
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:18.