Foros del Web » Programando para Internet » PHP »

SELECT de select marcados con checkbox

Estas en el tema de SELECT de select marcados con checkbox en el foro de PHP en Foros del Web. Necesito hacer lo siguiente: Hago un SELECT, me lista TODOS los registros (donde la columna 1 son checkbox). Lo que necesito hacer es un nuevo ...
  #1 (permalink)  
Antiguo 23/03/2009, 08:18
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
SELECT de select marcados con checkbox

Necesito hacer lo siguiente:

Hago un SELECT, me lista TODOS los registros (donde la columna 1 son checkbox).
Lo que necesito hacer es un nuevo SELECT de los checkbox que el usuario quiera facturar.

Código PHP:
<form action='facturar.php' method="POST">  
<input name="submit" type=submit value='Facturar' /> 
<table> 
      <td width="4%" align="center" class="texto"><div align="center" class="Estilo2"> 
          <input name="seleccion[]" type="checkbox" value="<?=$id?>" /> 
      </div></td> 
      <td width="4%" align="center" class="texto"><div align="center" class="Estilo2"> 
          <?=$id?> 
      </div></td> 
      <td width="8%" align="center" class="texto Estilo2"></font> <span class="texto"> 
        <?=$fecha?> 
      </span> </font></td> 
      <td width="10%" align="center"><div align="center" class="Estilo2"><span class="links"> 
          <?=$cliente?> 
      </span></div></td>  </table> 
</form>
Ahora lo que no se es que poner en la hoja donde envio estos datos ( facturar.php) para hacer un SELECT de los checkbox activos.!

Es complicado de entender. Gracias a todos

Saludos!!
__________________
Bye!
  #2 (permalink)  
Antiguo 23/03/2009, 08:51
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: SELECT de select marcados con checkbox

foreach($_REQUEST['id'] as $reg)

se me ocurre con un foreach pero implica hacer tantas conexiones a la BD como check box tengas activos
= podrias hacer un while donde compruebes con isset saludos!!
  #3 (permalink)  
Antiguo 23/03/2009, 08:59
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Respuesta: SELECT de select marcados con checkbox

tienes un ejemplo de como seria?
Busque por todos lados como hacer un while a mis checkbox marcados y no lo pude encontrar. :(

Gracias desde ya
__________________
Bye!
  #4 (permalink)  
Antiguo 23/03/2009, 09:07
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: SELECT de select marcados con checkbox

si haces esto
Código :
Ver original
  1. $id_no_vacio=array();
  2. foreach(($_POST['selection'] as $k=>$v)
  3. {
  4. if(!empty($v))
  5. {
  6. $id_no_vacio[]=$v;
  7. }
  8. }
utilizo empty negada para saber que sea diferente de vacío(es decir que esté seleccionado).
ahora en $id_no_vacio, deberían de estar los check seleccionados.

probadlo
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #5 (permalink)  
Antiguo 23/03/2009, 09:07
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: SELECT de select marcados con checkbox

<?php
if(!empty($_POST['campos'])) {
$aLista=$_POST['campos'];
$sQuery="DELETE FROM tabla where id IN (".implode(',',$aLista).")";
}
?>

cambiando tu query ya se no es while pero es mejor q el foreach suerte
PD: no he probado cualkier cosa me avisas saludos!
  #6 (permalink)  
Antiguo 25/03/2009, 07:35
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Respuesta: SELECT de select marcados con checkbox

gracias por darme un codigo me ayudo a entender un poco mas...pero me dice este error

Warning: implode() [function.implode]: Bad arguments. in /www/pymgestiones/htdocs/informes/facturar.php on line 7

lei por varios lados la funcion implode, pero no logre ver donde esta el error

asi esta mi codigo

Código PHP:
<? 
require('configuracion.php');
require(
'funciones.php');

if(!empty(
$_POST['seleccion'])) {
$aLista=$_POST['id'];
$sql.= "SELECT * FROM informes1 WHERE id IN (".implode(",",$aLista).")";
echo 
$aLista;
}
?>
gracias harvestmoon
__________________
Bye!
  #7 (permalink)  
Antiguo 25/03/2009, 09:17
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: SELECT de select marcados con checkbox

perdona la ignorancia pero ese . despues de $sql tu lo pusiste?
a y otra cosa en el ejemplo q te di son comillas simples ' ,'

si esto no mejora buscaremos otra solucion saludines!
  #8 (permalink)  
Antiguo 25/03/2009, 09:53
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: SELECT de select marcados con checkbox

no veo ningún campo con nombre id en tu formulario.

sorry si me afecta la ceguera.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #9 (permalink)  
Antiguo 25/03/2009, 10:05
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Respuesta: SELECT de select marcados con checkbox

harvestmoon te estoy volviendo loco...aca al poner este codigo me devuelve siempre Array.

Código PHP:
<? 
require('configuracion.php');
require(
'funciones.php');

if(!empty(
$_POST['seleccion'])) {
$aLista=$_POST['seleccion'];
$sQuery="SELECT * FROM informes1 where id IN (".implode(',',$aLista).")";
echo 
$aLista;
}
?>
y si cambio $aLista=$_POST['seleccion']; por $aLista=$_POST['id']; me da el error

Warning: implode() [function.implode]: Bad arguments. in /www/pymgestiones/htdocs/informes/facturar.php on line 7

gracias por la ayuda
__________________
Bye!
  #10 (permalink)  
Antiguo 25/03/2009, 10:10
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: SELECT de select marcados con checkbox

Cita:
Iniciado por Pelao Ver Mensaje
y si cambio $aLista=$_POST['seleccion']; por $aLista=$_POST['id']; me da el error

Warning: implode() [function.implode]: Bad arguments. in /www/pymgestiones/htdocs/informes/facturar.php on line 7

gracias por la ayuda
a ver a ver, date cuenta el checkbox se llama selección verdad???, entonces eso es lo que vas a recoger por POST, por eso decía que no veía un campo en el formulario con el nombre id, y el error que te dá más alla de que no existe la variable global $_POST['id'], es porque éste no es un array y recuerda que el segundo argumento de implode es un array.

además acostúmbrate a escribir el tag completo de php <?php ?>, porque podrías tener problemas

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #11 (permalink)  
Antiguo 25/03/2009, 10:26
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: SELECT de select marcados con checkbox

te propongo algo por q no probamos con el foreach y hacemos la seleccion q buscas estoy conciente q seran varias consultas pero podemos probar que opinas?

foreach($_REQUEST['id'] as $reg)

SQL="llllll"

no es q me salga por la tangente pero ese codigo la verdad yo no lo he probado el de empty
saludines!

PD y si buena observacion sobre los tag completos saludos
  #12 (permalink)  
Antiguo 25/03/2009, 10:29
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años
Puntos: 1
Respuesta: SELECT de select marcados con checkbox

bueno gracias a todos antes que nada....logre hacerlo con su ayuda y aprendi algunas cosas nuevas,
aqui les dejo el codigo final de como realizo la busqueda de todos los campos de los checkbox activos

Código PHP:
<? 
require('configuracion.php');
require(
'funciones.php');

if(!empty(
$_POST['seleccion'])) {
$aLista=$_POST['seleccion'];

$sql.= "SELECT * FROM informes1 where id IN (".implode(',',$aLista).")";
$rs mysql_query($sql$con);

if(
mysql_num_rows($rs)>0)
{
    
    
$template implode(""file('remito_detalle.php'));
    while(
$row mysql_fetch_assoc($rs))
    {
        
$color=($color==""?"#5b69a6":"");
        
$row["color"] = $color;
        
//manipulamos el mensaje
        
$row["mensaje"] = nl2br($row["mensaje"]);
        
$row["mensaje"] = parsearTags($row["mensaje"]);
        
mostrarTemplate($template$row);
    }
}



}
?>

un abrazo
__________________
Bye!
  #13 (permalink)  
Antiguo 25/03/2009, 10:36
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: SELECT de select marcados con checkbox

Cita:
Iniciado por Pelao Ver Mensaje
form action='facturar.php' method="POST">
<input name="submit" type=submit value='Facturar' />
<table>
<td width="4%" align="center" class="texto"><div align="center" class="Estilo2">
<input name="seleccion[]" type="checkbox" value="<?=$id?>" />
</div></td>
<td width="4%" align="center" class="texto"><div align="center" class="Estilo2">
<?=$id?>
</div></td>
<td width="8%" align="center" class="texto Estilo2"></font> <span class="texto">
<?=$fecha?>
</span> </font></td>
<td width="10%" align="center"><div align="center" class="Estilo2"><span class="links">
<?=$cliente?>
</span></div></td> </table>
</form>
a ver escribe el siguiente código en el archivo que procesa el formulario
Código :
Ver original
  1. <?php
  2. if(isset($_POST['id']))
  3. {
  4. echo $_POST['id'];
  5. }
  6. else
  7. {
  8. echo 'HORROR no existe la variable';
  9. }
  10. ?>
existe la superglobal $_POST['id']????

XD no creo que sea demasiado miope.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #14 (permalink)  
Antiguo 25/03/2009, 10:43
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: SELECT de select marcados con checkbox

FELICIDADES!!
me da mucho que alfin se solucionara cuidate mucho y cualquier cosa aqui estaremos
saludines!!
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 14:28.