Foros del Web » Programando para Internet » PHP »

checkbox para envio de informacion a otro formulario

Estas en el tema de checkbox para envio de informacion a otro formulario en el foro de PHP en Foros del Web. Hola!! Tengo una duda y espero en verdad alguien aqui me pueda ayudar. Bueno resulta que tengo una tabla producto de una consulta a la ...
  #1 (permalink)  
Antiguo 02/11/2009, 18:25
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años, 1 mes
Puntos: 0
checkbox para envio de informacion a otro formulario

Hola!!

Tengo una duda y espero en verdad alguien aqui me pueda ayudar.
Bueno resulta que tengo una tabla producto de una consulta a la base de datos pero necesito que al lado izquierdo de cada registro o fila de la tabla me aparezca un checkbox que en la tabla se llama seleccionador y con este al seleccionar una o mas filas estas me las pase a otro formulario en una nueva tabla.
Será esto posible? En verdad espero y me ayudes por favor te lo agradeceria muchisimo.

La consulta que realizo es la siguiente:

Código PHP:
<?php
if (isset($_POST["buscar"])) { 
$mes $_POST ["mes"];
$anio $_POST ["anio"];
        
$query "SELECT usuarios.clave, usuarios.nombre, usuarios.departamento, usuarios.ubicacion,
       peticion.clave, peticion.solicitud, peticion.asignacion, peticion.descripcion,
       peticion.dia, peticion.mes, peticion.anio, peticion.status,
       peticion.comentario_usuario, peticion.comentairo_administrador
FROM peticion
inner join usuarios on peticion.clav_usu_peticion=usuarios.clave WHERE mes='$mes' and anio= '$anio' ORDER BY usuarios.clave"
;  
    
$tabla1mysql_query($query$link) or die(mysql_error());
   
   echo 
"<HTML><TABLE Border=10 CellPadding=5 ><TR>";
# construyendo los encabezados de la tabla


echo "<th bgcolor=#FF6600>SELECCIONADOR</th><th bgcolor=#FF6600>NOMBRE</th><th bgcolor=#FF6600>DEPARTAMENTO</th><th bgcolor=#FF6600>UBICACION</th><th bgcolor=#FF6600>SOLICITUD</th><th bgcolor=#FF6600>ASIGNACION</th><th bgcolor=#FF6600>DESCRIPCION</th><th bgcolor=#FF6600>DIA</th><th bgcolor=#FF6600>MES</th><th bgcolor=#FF6600>A&Ntilde;O</th><th bgcolor=#FF6600>STATUS</th><th bgcolor=#FF6600>COMENTARIO DEL USUARIO</th><th bgcolor=#FF6600>COMENTARIO DEL ADMINISTRADOR</th></TR>";
// ciclo de lectura del rowset($tabla1)
while($fila mysql_fetch_row($tabla1))
{
// desplegando en celda de tabla html
//En esta parte es donde necesito que me muestre el checkbox
 
echo"
<tr>
<input type='hidden' name='clave_usuarios[]' value='{$fila[0]}' />

<td><input type='checkbox' name='checkbox' value='checkbox'  value ='1'/></br></td>
<td><textarea name='nombre[]' readonly  cols='10' rows='3'>$fila[1]</textarea></br></td>
<td><textarea name='departamento[]' readonly  cols='15' rows='3'>$fila[2]</textarea></br></td>
<td><textarea name='ubicacion[]' readonly  cols='15' rows='3'>$fila[3]</textarea></br></td>
<input type='hidden' name='clave_peticion[]' value='{$fila[4]}' />
<td><textarea name='solicitud[]' readonly  cols='15' rows='3'>$fila[5]</textarea></br></td>
<td><textarea name='asignacion[]' onkeyup='this.value=this.value.toUpperCase()' cols='8' rows='3'>$fila[6]</textarea></br></td>
<td><textarea name='descripcion[]' readonly  cols='25' rows='3'>$fila[7]</textarea></br></td>
<td><input type='text' size='2' readonly  name='dia[]' value='{$fila[8]}'></br></td>
<td><input type='text' size='4' readonly  name='mes[]' value='{$fila[9]}'></br></td>
<td><input type='text' size='4' readonly name='anio[]' value='{$fila[10]}'></br></td>
<td><textarea name='status[]' onkeyup='this.value=this.value.toUpperCase()' cols='10' rows='3'>$fila[11]</textarea></br></td>
<td><textarea name='comentario_usuario[]' readonly cols='20' rows='3'>$fila[12]</textarea></br></td>
<td><textarea name='comentairo_administrador[]' cols='20' rows='3'>$fila[13]</textarea></br></td>
</tr>
"
;
// cerrando tabla html
}
};   
 
?>
Gracias de antemano en verdad necesito ayuda por favor!!!
  #2 (permalink)  
Antiguo 02/11/2009, 18:48
 
Fecha de Ingreso: abril-2006
Ubicación: Bogotá
Mensajes: 251
Antigüedad: 18 años
Puntos: 14
Respuesta: checkbox para envio de informacion a otro formulario

Hola, veo que estas creando los checkbox acá:

Código:
<input type='checkbox' name='checkbox' value='checkbox'  value ='1'/>
Lo que tienes que hacer es enviar un arreglo con esto, así que:

Código:
<input type='checkbox' name='checkbox[]' id='checkbox[]'  value ='1'/>
Pero fijate que tienes que colocar un valor diferente en todos los checkbox, por lo cual tener como value='1' fijo no te serviria porque se enviarian solo "unos".

Una vez tengas esto hecho puedes proceder a recibir la información en la otra página, para lo cual puedes hacer lo siguiente:

Código:
foreach( $_GET['checkbox'] as $dato) //Suponiendo que envias los datos por GET
	echo "<br>".$dato;
Ya con ese $dato puedes hacer lo que desees.

Saludos, espero te sirva la ayuda!

PD: Deberias usar nombres mas descriptivos en tus campos.
  #3 (permalink)  
Antiguo 03/11/2009, 10:33
 
Fecha de Ingreso: abril-2009
Ubicación: México
Mensajes: 114
Antigüedad: 15 años, 1 mes
Puntos: 0
hola!!

Gracias pero no me funciona y pienso que es por el value por que como ya lo mencione anteriormente la tabla se genera a partir una consulta a la base de datos, y si quito el value pues tampoco me funciona, lo que me hace es que me manda el mismo numero de registro que seleccione, por ejemplo si seleccione 2 registro de mi tabla me manda al otro formulario dos registros pero los dos primeros de mi tabla pero no los que seleccione, espero haberme explicado.

Cual quier ayuda se los agradeceria muchismo.

Bueno medio me ha funcionado!!!

Resulta que el checkbox lo he puesto de esta forma..

<td><input type='checkbox' name='clave_peticion[]' id='clave_peticion[]' value='{$fila[4]}'/></br></td>

y asi obtiene el valor de la clave de la peticion y al seleccionarlar pues deberia de pasar ese registro, pero lo hace a medias por que pasa el registro seleccionado pero tambien el que se encuentre a la mitad de la tabla osea si selecciono 1 me pasa 2 y si selecciono 2 me pasa 3.

El codigo que he puesto para cachar el checkbox y me genera la nueva tabla es el siguiente:

<?php
if (isset($_POST["ver"]))
{
foreach( $_POST['clave_peticion'] as $dato) //Suponiendo que envias los datos por GET
echo "<br>".$dato;

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

if (!empty($dato[$i])) {


$query = "SELECT usuarios.clave, usuarios.nombre, usuarios.departamento, usuarios.ubicacion,
peticion.clave, peticion.solicitud, peticion.asignacion, peticion.descripcion,
peticion.dia, peticion.mes, peticion.anio, peticion.status,
peticion.comentario_usuario, peticion.comentairo_administrador
FROM peticion
inner join usuarios on peticion.clav_usu_peticion=usuarios.clave WHERE peticion.clave= $dato and status='' or status = 'EN PROCESO' ORDER BY usuarios.clave";
$tabla1= mysql_query($query, $link) or die(mysql_error());

echo "<HTML><TABLE Border=7 CellPadding=5 ><TR>";

# construyendo los encabezados de la tabla

echo "<th bgcolor=#FF6600>NOMBRE</th><th bgcolor=#FF6600>DEPARTAMENTO</th><th bgcolor=#FF6600>UBICACION</th><th bgcolor=#FF6600>SOLICITUD</th><th bgcolor=#FF6600>ASIGNACION</th><th bgcolor=#FF6600>DESCRIPCION</th><th bgcolor=#FF6600>DIA</th><th bgcolor=#FF6600>MES</th><th bgcolor=#FF6600>A&Ntilde;O</th><th bgcolor=#FF6600>STATUS</th><th bgcolor=#FF6600>COMENTARIO DEL USUARIO</th><th bgcolor=#FF6600>COMENTARIO DEL ADMINISTRADOR</th></TR>";

// ciclo de lectura del rowset($tabla1)

while($fila = mysql_fetch_row($tabla1))

{

// desplegando en celda de tabla html

echo"<tr>

<input type='hidden' name='clave_usuarios[]' value='{$fila[0]}' />

<td><textarea name='nombre[]' readonly cols='10' rows='3'>$fila[1]</textarea></br></td>

<td><textarea name='departamento[]' readonly cols='15' rows='3'>$fila[2]</textarea></br></td>

<td><textarea name='ubicacion[]' readonly cols='15' rows='3'>$fila[3]</textarea></br></td>

<input type='hidden' name='clave_peticion[]' value='{$fila[4]}' />

<td><textarea name='solicitud[]' readonly cols='15' rows='3'>$fila[5]</textarea></br></td>

<td><textarea name='asignacion[]' title='La asignacion unicamente es para SILVIA, MARTHA, RAUL o MARCO' onkeyup='this.value=this.value.toUpperCase()' cols='8' rows='3'>$fila[6]</textarea></br></td>

<td><textarea name='descripcion[]' readonly cols='25' rows='3'>$fila[7]</textarea></br></td>

<td><input type='text' size='2' readonly name='dia[]' value='{$fila[8]}'></br></td>

<td><input type='text' size='4' readonly name='mes[]' value='{$fila[9]}'></br></td>

<td><input type='text' size='4' readonly name='anio[]' value='{$fila[10]}'></br></td>

<td><textarea name='status[]' title='El status unicamente es EN PROCESO o CERRADA' onkeyup='this.value=this.value.toUpperCase()' cols='10' rows='3'>$fila[11]</textarea></br></td>

<td><textarea name='comentario_usuario[]' readonly cols='20' rows='3'>$fila[12]</textarea></br></td>

<td><textarea name='comentairo_administrador[]' cols='20' rows='3'>$fila[13]</textarea></br></td>


</tr>";


}

};
}echo "</table>


<table width='200' align='center'>
<tr>
<th scope='col'><input type='submit' name='modificar' value='MODIFICAR' /></th>
</tr>";
}




?>


Alguien por favor que me ayude por favor no se en que esta el error o por que me jala un registro extra.

De antemano Gracias!!

Por favor ayuda!!!!!! alguien que me diga si algo estoy haciendo mal o que me falta, ya estoy desesperada no se por que me muestra ese registro de mas, se supo que el forech me recorre el arreglo y al hacer la consulta de acuerdo al $dato me deberia de mostrar solo los que seleccione.

Por favor no se como resolver esto..

Última edición por GatorV; 03/11/2009 a las 15:06
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 20:19.