Supprimer des donnees avec des CheckBox

Santana123451 Messages postés 12 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 avril 2008 - 14 avril 2008 à 16:39
emperor01 Messages postés 25 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 7 juin 2008 - 5 juin 2008 à 03:45
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

yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
14 avril 2008 à 22:38
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  
0
Santana123451 Messages postés 12 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 21 avril 2008
15 avril 2008 à 07:59
Salut,
j'ai essayé avec ca mais toujours rien, je ne vois pas ou est le probleme...
0
emperor01 Messages postés 25 Date d'inscription lundi 10 novembre 2003 Statut Membre Dernière intervention 7 juin 2008
5 juin 2008 à 03:45
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
0
Rejoignez-nous