Problème suppression

Résolu
delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   -  
delaville81 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 195 Date d'inscription   Statut Membre Dernière intervention  
 
Merci mais ça ne change rien mes encaissement ne se supprime pas
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu as testé ta requête en direct dans ta BDD ??
0
samyb2313 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   5
 
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 195 Date d'inscription   Statut Membre Dernière intervention  
 
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