Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 22
[Gunman] Va por buen camino
Lista de checkboxes

Buenos dias, señores.
He hecho un documento PHP que me muestra una lista con todas las noticias que tengo en un servidor mysql. Bueno, al lado del nombre de cada noticia aparece un checkbox para seleccionar la noticia si se desea eliminar o editar. Aquí muestro el código que crea la lista:
Código PHP:
          $result=mysql_query("SELECT * FROM `news`");
          
$numrows=mysql_num_rows($result);
          
          
$news = array();
          for(
$i=0$i<$numrows$i++){
            
$id mysql_result($result$i"id");
            
$news array_pad($news$i+1"nw".$id);
            echo 
"<input name='".$news[$i]."' type='checkbox' id='".$news[$i]."' value='checkbox'> ";
            echo 
mysql_result($result$i"title")."<br>";
          } 
Explico el código del for que es el más lioso. Había pensado que cada checkbox se lamase 'nwID'. Por ejemplo, para la noticia con el ID 1 su checkbox se llamaría 'nw1', para la noticia 2: 'nw2' y así sucesivamente con todos los check boxes. Esto funciona perfectamente. Ahora viene mi duda...
Cómo puedo comprobar desde otro documento PHP que checkboxes hay seleccionados? yo había pensado de declarar una variable de tipo array global. ($news), que alberga el nombre de todos los checkboxes, después en el otro php recorrer todos los ítems de la variable $news i comprobar si estan activados. Pero... (y siempre hay un pero). No tengo ni cochina idea de como hacerlo.
Gracias.
__________________
l2prog.co.nr
Responder Con Cita
  #2  
Antiguo 05-07-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 22
D-MO Va por buen camino
No se si me equivoco, pero el valor que envian los checkbox son booleanos, de ser asi, esto podria funcionar:
Código PHP:
$tn=5;//total de noticias
for($i=0;$i<$tn;$i++){
  if(
$_POST["nw$i"]==true){
     ...
codigo...
  }

Saludos.
Responder Con Cita
  #3  
Antiguo 05-07-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 22
[Gunman] Va por buen camino
No se pk, pero cuando elimino más de un registro me da error.
__________________
l2prog.co.nr
Responder Con Cita
  #4  
Antiguo 05-07-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 22
D-MO Va por buen camino
Cita:
Empezado por [Gunman]
No se pk, pero cuando elimino más de un registro me da error.
¿Que error?, ¿Como los eliminas?, ¿Cual es el código?

Saludos.
Responder Con Cita
  #5  
Antiguo 05-07-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 22
[Gunman] Va por buen camino
Ya está listo...
Aquí pongo el código, por si se puede mejorar:
Código PHP:
if(isset($DeleteNews)){
        
$result=mysql_query("SELECT * FROM `news`");
        
$numrows=mysql_num_rows($result);
        
$i 0;
        
$t 0;        
        
$max $numrows;
        while(
$i<$numrows && $t<$max){
            
$id mysql_result($result$i"id");
            if(
$_POST["nw$id"]==true){
                
$result mysql_query("DELETE FROM `news` WHERE `id` = ".$id);
                if(
$result==1){
                  echo 
"<br>Notícia [".$id."] eliminada!";
                }else echo 
"<br>Error al eliminar la notícia!"
                
$result=mysql_query("SELECT * FROM `news`");
                
$numrows=mysql_num_rows($result);                
                
$i $i-1;                
            }
            
$i $i+1;
            
$t $t+1;
        }
    } 
__________________
l2prog.co.nr
Responder Con Cita
  #6  
Antiguo 05-07-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 22
D-MO Va por buen camino
Perfecto, lo único que creo conveniente agregarle sería que indicara que noticias no fueron eliminadas, se que ya muestra este mensaje:"<br>Error al eliminar la notícia!", pero no indica el id de la noticia que no se pudo eliminar, lo cual podría hacerso con algo asi:"<br>Error al eliminar la notícia $id!"

Edicion:
Aún no he entendido el porque de la siguiente consulta:
Código PHP:
$result=mysql_query("SELECT * FROM `news`"); 
Saludos.

Última edición por D-MO fecha: 05-07-2006 a las 22:01:41.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Mejor heredar de una Lista o mejor introducir la Lista en un campo? Jome OOP 8 24-11-2005 17:11:16
Como puedo cambiar la apariencia de los checkboxes mostrados en un TListView??? abracadabra OOP 0 01-08-2005 18:31:30
Lista de reproduccion b3nshi Varios 9 06-03-2005 03:32:24
Componente que tenga checkboxes como items k_miragaya OOP 2 22-07-2004 09:55:54
Lista de tablas sur-se Firebird e Interbase 2 01-06-2004 19:00:30


La franja horaria es GMT +2. Ahora son las 22:19:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi