Supprimer des donnees avec des CheckBox

Signaler
Messages postés
12
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
21 avril 2008
-
Messages postés
25
Date d'inscription
lundi 10 novembre 2003
Statut
Membre
Dernière intervention
7 juin 2008
-
Bonjour a tous,
je traite la partie historique de mon site depuis des jours et je n'arrive plus a résoudre ce probleme de checkbox:
voila le probleme :
j'ai une table historique séléctionner a partir de la base et contient des enregistrements, chaque ligne de table contient des cases a cocher et un boutton supprimer .
Le truc est jn'arrive plus a supprimer les lignes cocher.

voici le code :

<?
include("Connexion.php");

$select = 'SELECT * FROM client,historique GROUP BY action_hist ORDER BY nom_cl,id_historique'';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

?>
<form action="" name="form" methode="post">
<?
// si on a récupéré un résultat on l'affiche.
if($total) {
       // debut du tableau
       echo ''.\"\n\";
       echo '----
';
       echo 'Nom, ';
       echo 'Prenom, ';
       echo 'Action, ';
       echo 'Description, ';
       echo 'Date, ' ;
       echo 'Temps, ' ;
       echo ', ';
       echo ''.\"\n\";

    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. 
 
    while($row = mysql_fetch_array($result)) {
        //$var = $row[0];
           echo '----
';
           echo ''.$row["nom_cl"].', ';
           echo ''.$row["prenom_cl"].', ';
           echo ''.$row["action_hist"].', ';
           echo ''.$row["description_hist"].', ';
           echo ''.$row["date_hist"].', ';
           echo ''.$row["time_hist"].', ';
           echo '';
?>

 <?
      echo ', '.\"\n\";
      echo ''.\"\n\";
}
echo '
'."\n";
// fin du tableau.
// on libère le résultat
if(isset($_POST['supprimer']) )
{
foreach ($_POST['action'] as $id)
{
echo '';
}
}

$delete = "DELETE FROM historique where id_historique='$id' ";
$requete = mysql_query($delete);
mysql_free_result($result);
?>
</form> 
<?   
Merci d'avance pour votre aide....

3 réponses

Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Salut,

Euh ouais pour moi ça ferait plus de sens si le delete était dans la boucle non ?

if(isset($_POST['supprimer']) )
{
foreach ($_POST['action'] as $id)
{
echo '';

$delete = "DELETE FROM historique where id_historique='$id' ";
$requete = mysql_query($delete);

}
}

mysql_free_result($result);

Puisque si je comprends bien ton code le but c'est de supprimer tout ce qui est contenu dans action...
cela dit tu peux aussi faire une seule requête mysql pour ça avec where id_historique IN(..la liste de id..)

 
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
12
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
21 avril 2008

Salut,
j'ai essayé avec ca mais toujours rien, je ne vois pas ou est le probleme...
Messages postés
25
Date d'inscription
lundi 10 novembre 2003
Statut
Membre
Dernière intervention
7 juin 2008

essaye d'utiliser une variable intermediaire pour le $_POST['action']

$toto=$_POST['action'];

foreach($toto as $id).....

J'ai un doute pour la fonction foreach