Problème suppression

Résolu/Fermé
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024 - Modifié par baladur13 le 10/11/2015 à 10:04
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024 - 11 nov. 2015 à 12:47
Chers confères;
J'aurais besoin de votre aide pour un souci que je rencontre lors d'u suppression.
Lorsque je supprime un fiche planning, je souhaite supprimer les encaissements créés lors de la création d'une fiche planning.
Pour certaines fiches cela génère 2 lignes d'encaissements.
Lorsque je supprime, la suppression multiple ne fonctionne pas

$req_supp = 'SELECT en.id AS id_encaissement, id_planning,
   pla.id, count(pla.id) AS count_id_pla
   FROM encaissement en
   INNER JOIN planning pla ON id_planning = pla.id
   WHERE id_planning = '.$_GET['delete_pla'].'';

   $res = mysql_query($req_supp);
   $var = mysql_fetch_array($res);
  
   $id_planning = $var['id_planning'];
   $id_encaissement = $var['id_encaissement'];
           
if($var['count_id_pla'] == '2'){
     $supp_en = 'DELETE FROM encaissement WHERE id IN ('.$id_encaissement.','.($id_encaissement+1).')';
     //echo $supp_en.'<br />'; 
     $res_encaiss = mysql_query($supp_en);                  
   }else{    
     $supp_en = 'DELETE FROM encaissement WHERE id = '.$id_encaissement.'';
     echo $supp_en.'<br />'; 
     //$res_encaiss = mysql_query($supp_en);             
   }
 
 delete_row('planning', 'id', $_GET['delete_pla'],0);
 $mess_error = 'Le planning a bien été suprimé.';
}





merci de votre aide
Bien PHPment et MySQLment
Delaville
A voir également:

4 réponses

jordane45 Messages postés 38296 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 4 704
Modifié par jordane45 le 10/11/2015 à 10:25
Bonjour,

Pas besoin de faire de Select ....puis de boucle ....

Essayes un truc du genre :
$delete_pla =!empty($_GET['delete_pla']) ? $_GET['delete_pla']: NULL;
if($delete_pla){
  $sql = "
   DELETE FROM encaissement WHERE id IN (
    SELECT en.id AS id_encaissement
    FROM encaissement en 
   INNER JOIN planning pla ON id_planning = pla.id
    WHERE id_planning = '$delete_pla';
  )";
  $res_encaiss = mysql_query($sql);        
}


Cordialement,
Jordane
0
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024
10 nov. 2015 à 12:52
Merci mais ça ne change rien mes encaissement ne se supprime pas
0
jordane45 Messages postés 38296 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 4 704
10 nov. 2015 à 12:53
Tu as testé ta requête en direct dans ta BDD ??
0
samyb2313 Messages postés 52 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 15 janvier 2020 5
10 nov. 2015 à 16:38
au lieu de supprimé 2 lignes encaissement, fait un contrôle lors de l'insertion pour qu'il n'y ai qu'une ligne d'encaissement :)

C'est possible ca ?
0
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024
11 nov. 2015 à 12:47
Merci pour votre aide, j'ai finalement résolu le problème en remplaçant les simple quote par des guillemets sur ma requête delete et bizarrement ça à marché
0