Foros del Web » Programando para Internet » PHP »

Checkbox y PHP

Estas en el tema de Checkbox y PHP en el foro de PHP en Foros del Web. Hola gente, que tal? Miren, yo tengo una pregunta.. La cuestion es que tengo un echo que me tira los resultados de los campos "Nombre" ...
  #1 (permalink)  
Antiguo 03/02/2008, 06:54
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 3 meses
Puntos: 0
Checkbox y PHP

Hola gente, que tal? Miren, yo tengo una pregunta..

La cuestion es que tengo un echo que me tira los resultados de los campos "Nombre" y "Comentario", osea que por cada comentario que haya me lo muestra en un div, seria algo asi el codigo:

Código PHP:

$res 
mysql_query("SELECT * FROM comentarios ORDER BY id DESC");

while (
$row mysql_fetch_array($resMYSQL_ASSOC)) 
{

echo 

<div class="nombre">Nombre: ' 
$row["nombre"].'</div>
<br>
<div class="comentario">Comentario: ' 
$row["comentario"].'</div>

<div class="checkbox">
<form name="frm_checkbox" method="post" action="">
<input type="checkbox" name="borrar">
<br>
</div>'
;

}

echo 
'
<input type="Submit" value="Borrar" name="Borrar">
</form>'

Osea lo que haria eso es mostrar todos los comentarios separados, y al final muestra un solo submit que dice Borrar..

Ento nces me quedan varios recuadros con comentarios y con sus respectivos checkbox y al final un boton que dice borrar, lo que quiero hacer es que al apretar Borrar haga una consulta mysql que borre los comentarios seleccionados.. Alguien me da una mano?

Muchas gracias!
  #2 (permalink)  
Antiguo 03/02/2008, 08:27
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Checkbox y PHP

Tu checkbox debe ser así:

Código PHP:
echo '<input type="checkbox" name="borrar[]" value="'.$row['id'].'">'
Luego, en la página que recibe el formulario, tendrás un array $_POST['borrar'], que contendrá todos los items a borrar según su id.

Ya luego, teniendo este array, borras los registros que se han seleccionado.

Hay una FAQ PHP que hace exactamente lo que quieres, utilizando el mismo método que te digo y al final un implode() para ejecutar la consulta una sola vez. Sigue el link:

FAQ PHP # 93: Como gestionar acciones a los registros seleccionados con checbox (estilo web-mails tipo Hotmail).

Por favor, léete todo el post

Un saludo,
  #3 (permalink)  
Antiguo 03/02/2008, 08:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Checkbox y PHP

Muchas gracias y perdon por mi ignorancia, estoy leyendo eso, me vino al pelo!
Saludos!!
  #4 (permalink)  
Antiguo 03/02/2008, 22:40
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Checkbox y PHP

no funca :(
aca dejo el codigo:

Código PHP:
echo '
<form action="" method="post">
<input type="submit" value="borrar" name="borrar">'


$result mysql_query("SELECT * FROM comentarios ORDER BY id DESC LIMIT 0,10");
   while (
$row mysql_fetch_array($resultMYSQL_ASSOC))
      {
      echo 
'
      '
.$row["comentario"].'
      <input type="checkbox" name="seleccion[]" value="'
.$row["id"].'">
      </form>'
;
      }

$lista=implode(',',$_POST['seleccion']);

mysql_query("DELETE FROM comentarios WHERE id IN(".$lista.")"); 
Alguna ayuda?

Muchas gracias!
  #5 (permalink)  
Antiguo 04/02/2008, 07:04
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Checkbox y PHP

Hombre, no mezcles las cosas. Una cosa es el código del formulario y otra muy distinta es el código que va a procesar el formulario:

Código PHP:
# Aqui el codigo que procesa el formulario
 
# Verificamos que la página haya sido llamada usando el método POST, 
# lo que indicaría que se está viniendo de un formulario
if(strtolower($_SERVER['REQUEST_METHOD']) == "post") {
    
$lista=implode(',',$_POST['seleccion']);
    
mysql_query("DELETE FROM comentarios WHERE id IN(".$lista.")");
    die(
"Se eliminaron de la base de datos los id's $lista");
}
 
# Este es el codigo del formulario
echo '
<form action="" method="post">
<input type="submit" value="borrar" name="borrar">'

 
$result mysql_query("SELECT * FROM comentarios ORDER BY id DESC LIMIT 0,10");
 
while (
$row mysql_fetch_assoc($result)) {
    echo 
"$row[comentario]<input type=\"checkbox\" name=\"seleccion[]\" value=\"$row[id]\"><br />";
}
 
echo 
'</form>'
Así debería funcionar

Un saludo,
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 10:02.