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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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: 23
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
  #2  
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
  #3  
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: 23
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
  #4  
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
  #5  
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: 23
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 23:01:41.
Responder Con Cita
  #6  
Antiguo 05-07-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.145
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Otro apunte al código que muestras, Gunman, sería el hecho de que no hay necesidad de solicitar todos los campos de todos los registros (SELECT * FROM) si únicamente vas a utilizar el campo "ID". ¿Para qué requerir entonces el resto de campos? Sobre todo cuando puedes hacerlo así: "SELECT ID FROM...".

Algo similar ocurre con la consulta posterior. Si necesitas saber el número de noticias ("news") puedes hacer una consulta tal que así: "SELECT COUNT(*) FROM news", sin necesidad de traer ningún registro, puesto que sólo necesitas saber el número de los mismos y no nada más.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 06-07-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 22
[Gunman] Va por buen camino
Cita:
Empezado por dec
Hola,

Otro apunte al código que muestras, Gunman, sería el hecho de que no hay necesidad de solicitar todos los campos de todos los registros (SELECT * FROM) si únicamente vas a utilizar el campo "ID". ¿Para qué requerir entonces el resto de campos? Sobre todo cuando puedes hacerlo así: "SELECT ID FROM...".

Algo similar ocurre con la consulta posterior. Si necesitas saber el número de noticias ("news") puedes hacer una consulta tal que así: "SELECT COUNT(*) FROM news", sin necesidad de traer ningún registro, puesto que sólo necesitas saber el número de los mismos y no nada más.
Bueno, yo es que no se mucho de PHP y voy un poco a lo bestia. gracias por el apunte. así optimizo my scrip.
__________________
l2prog.co.nr
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 18:11:16
Como puedo cambiar la apariencia de los checkboxes mostrados en un TListView??? abracadabra OOP 0 01-08-2005 19:31:30
Lista de reproduccion b3nshi Varios 9 06-03-2005 04:32:24
Componente que tenga checkboxes como items k_miragaya OOP 2 22-07-2004 10:55:54
Lista de tablas sur-se Firebird e Interbase 2 01-06-2004 20:00:30


La franja horaria es GMT +2. Ahora son las 21:18:28.


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