Foros del Web » Programando para Internet » PHP »

Mostrar resultado de varios checkbox seleccionados

Estas en el tema de Mostrar resultado de varios checkbox seleccionados en el foro de PHP en Foros del Web. Hola, mi situacion es la siguiente: En una página recibo los campos de una base de datos, cada campo tiene asociado un checkbox, bueno, al ...
  #1 (permalink)  
Antiguo 07/05/2009, 20:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Mostrar resultado de varios checkbox seleccionados

Hola, mi situacion es la siguiente:

En una página recibo los campos de una base de datos, cada campo tiene asociado un checkbox, bueno, al seleccionar uno o varios campos mediante el checkbox los elimino.
(Los campos de la tabla los recibo mediante un array).

Ahora en la página donde proceso el formulario quiero mostrar los registros eliminados (solo mostraría la Id de cada registro).

Todo funciona bien pero no sé cómo mostrar el resultado de la acción, que podría ser algo así: Usted ha eliminado los siguientes registros (y entonces mostrar las Id de los eliminados).

Este es el código de la página donde proceso el formulario.

<?php
include("../book/db/db_connection.php");

foreach($elimina as $indice=>$valor){

mysql_query("DELETE FROM guestbook WHERE id=$indice",$conexion);
}

?>


Espero haber explicado bien el caso.
Estaría muy agradecido a quien me diera una manito.

Gracias.
  #2 (permalink)  
Antiguo 07/05/2009, 21:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mostrar resultado de varios checkbox seleccionados

Puedes usar implode() para unir los ids que están en $elimina.
Código PHP:
Ver original
  1. echo 'Registros borrados: ' . implode(', ', $elimina);
Véase: http://www.php.net/implode
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 08/05/2009, 06:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Vale, gracias por tu respuesta, lo pruebo y te digo como me fue.

Ahora si puedo ver el resultado pero de esta forma:

Registros borrados: si, si

Y lo que quiero es que me muestre los números Id de los mensajes borrados, es decir:

Registros borrados: 5, 12, ...etc.

Lo que me está mostrando es el valor que tengo en el atributo value del checkbox (value="si").

Este es el código del formulario, disculpas por no haberlo incluido la primera vez.

Espero que esto aclare un poco más de que es lo que quiero conseguir.

desde ya muchas gracias.


Código PHP:
<?php
include("../book/db/db_connection.php");

$result=mysql_query("SELECT * FROM guestbook",$conexion) or die('Error: '.mysql_error());

echo 
"<form action=\"eliminaLibro.php\" enctype=\"application/x-www-form-urlencoded\" method=\"post\">";
echo 
"<table align=\"center\" cellpadding=\"3\" cellspacing=\"1\">";
echo 
"<tr>";
echo 
"<td colspan=\"8\" id=\"descripcion\">Seleccione los casilleros de la columna 'Eliminar' para borrar registros</td>";
echo 
"</tr>";
echo 
"<tr>";
echo 
"<td id=\"headers\">Id</td><td id=\"headers\">Nombre</td><td id=\"headers\">Comentario</td><td id=\"headers\">Hora/Fecha</td><td id=\"headers\">Pa&iacute;s</td><td id=\"headers\">Sitio Web</td><td id=\"headers\">E-mail</td><td id=\"headers\">Eliminar</td>";
echo 
"</tr>";

while (
$registro mysql_fetch_array($result)){
    
       if (
$colorfila==0){
       
$color"#EAF5FF";
       
$colorfila=1;
    }else{
       
$color="#D5EAFF";
       
$colorfila=0;
    }

echo 
"<tr>";
    for(
$i=0;$i<7;$i++){
        if(
$i==0){
            echo 
"<td bgcolor='".$color."'>".$registro[0]."</td>";
            }else{
                if(
$i==1){
                    echo 
"<td bgcolor='".$color."'>".$registro[1]."</td>";
                }else{
                    if(
$i==2){
                        echo 
"<td bgcolor='".$color."'>".$registro[2]."</td>";
                    }else{
                        if(
$i==3){
                            echo 
"<td bgcolor='".$color."'>".$registro[3]."</td>";
                        }else{
                            if(
$i==4){
                                echo 
"<td bgcolor='".$color."'>".$registro[4]."</td>";
                            }else{
                                if(
$i==5){
                                    echo 
"<td bgcolor='".$color."'>".$registro[5]."</td>";
                                }else{
                                    if(
$i==6){
                                        echo 
"<td bgcolor='".$color."'>".$registro[6]."</td>";
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
echo 
"<td align='center' bgcolor='".$color."'><input name=elimina[$registro[0]] type='checkbox' value='si' /></td>";
}

echo 
"</tr>";
echo 
"<tr><td>[<a href=\"administracion.php\"> Volver al men&uacute; principal </a>]</td><td align='right' colspan='8'><input name='eliminar' type='submit' value=' Eliminar seleccionados ' />&nbsp;&nbsp;<input name='uncheck' type='reset' value=' Quitar selecci&oacute;n ' /></td></tr>";
echo 
"</table></form>";

mysql_close($conexion); 
?>

Última edición por GatorV; 08/05/2009 a las 09:07
  #4 (permalink)  
Antiguo 08/05/2009, 08:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mostrar resultado de varios checkbox seleccionados

Puedes usar array_keys() para unir las claves y no los valores:
Código php:
Ver original
  1. echo 'Registros borrados: ' . implode(', ', array_keys($elimina));
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 08/05/2009, 20:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Mostrar resultado de varios checkbox seleccionados

Ok, ahora si, muchísimas gracias, es exactamente lo que quería, sólo que lo repetí como loro sin entenderlo muy bien, donde puedo econtrar información acerca de la funcion inplode, sé que hay muchos tutoriales, pero pregunto por si conoces un tutorial bueno donde se pueda entender más facilmente.
De nuevo muchas gracias.

Saludos
  #6 (permalink)  
Antiguo 09/05/2009, 00:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mostrar resultado de varios checkbox seleccionados

En el propio manual de referencia se explica su función:
http://www.php.net/implode

Lo que hacer es unir un array usando los caracteres especificados como delimitador (En este caso ", ").
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 09:15.