Inicio > PHP > kiwisoft > mediante un checkbox pasar a un nuevo formulario

mediante un checkbox pasar a un nuevo formulario

Experto:
Usuario:
Fecha: 05/11/2009
Valoración: (5,00 sobre 5) Categoría: PHP
02/11/2009
chiquita12, usuario preguntando en PHP
Usuario
Hola Kiwisoft bueno aqui de nuevo molestandote con una duda y espero en verdad me puedas 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 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:
<?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";  
    $tabla1= mysql_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>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Ñ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><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
 
02/11/2009
chiquita12, experto respondiendo en PHP
Experto
HOla:
Por que no conviertes este campo oculto...
<input type='hidden' name='clave_usuarios[]' value='{$fila[0]}' />
... en un checkbox visible ?
Los que queden marcados pasarán su "value" al otro formulario...
Pruebalo y me cuentas.
Espero haberte ayudado.
Saludos.
03/11/2009
chiquita12, usuario preguntando en PHP
Usuario
Hola!!
Disculpa si paresco muy ignorante pero la verdad no se muy bien como se utiliza el check box si me pudieras dar algun ejemplo te lo agradeceria muchimos, por otro lado como que no me queda bien la idea clara de como pasaria el value del checkbox al otro formulario.
Bueno espero no estarte dando muchas molestias y gracias de antemano.
03/11/2009
chiquita12, experto respondiendo en PHP
Experto
Hola:
Seria algo asi:
echo "<input type='checkbox' name='clave_usuarios[]' value='{$fila[0]}' />";
Pruebalo.
04/11/2009
chiquita12, usuario preguntando en PHP
Usuario
Hola!!
Muchas gracias en verdad me funciona a medias... ya me manda los registros  a otro formualario pero el problema ahora es que cada registro me lo muestra en tablas diferente y yo necesito que esten en una sola tabla los muestra mas o menos asi:
nombre    ubicacion      departamento
laura        mexico          administracion
nombre     ubicacion      departamento
maria         mexico         sistemas
Bueno la forma anterior es como los muestra pero te repito que necesito que necesito que solo una vez aparescan los encabezados. El codigo que tengo te lo muestro a continuacion, y espero me puedas decir en que esta mi error:
<?php
  
  if (isset($_POST["ver"]))
{
 
for($i=0;$i<count($_POST['clave_peticion']);$i++){
if (!empty($_POST['clave_peticion'][$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= '".$_POST['clave_peticion'][$i]."' ORDER BY peticion.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Ñ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>
";

?>
clave_peticion es el arreglo que recibo de los checkbox.  He estado buscando como hacerle pero la verdad no logro hacerlo, en verdad espero que tu me puedas ayudar y  gracias de antemano.
 
04/11/2009
chiquita12, experto respondiendo en PHP
Experto
Hola:
Creo que la solución sería poner el...
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ÑO</th><th bgcolor=#FF6600>STATUS</th><th bgcolor=#FF6600>COMENTARIO DEL USUARIO</th><th bgcolor=#FF6600>COMENTARIO DEL ADMINISTRADOR</th></TR>";
...antes del...
for($i=0;$i<count($_POST['clave_peticion']);$i++){
Al repetir el TABLE dentro del FOR, te abre una tabla nueva por cada registro.
Pruebalo y me comentas.
Saludos.
05/11/2009
chiquita12, usuario preguntando en PHP
Usuario
hola:
Muchas gracias por tu ayuda en verdad me fueron de gran utilidad tus sujerencias.
Enlaces patrocinados