begin process at 2012 05 30 13:52:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

Delete en cascade...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Delete en cascade...

lundi 2 août 2004 à 14:04:25 | Delete en cascade...

kik0une

Bonjour!
Voilà, je développe en php/mysql un module de gestion d'article.
J'ai donc pour chaque article : un type d'article et un prix.
Donc forcément quand on supprime un type d'article de la base, il faut aussi supprimer les articles correpondants ainsi que les prix correspondant aux articles.
J'aimerais faire ça proprement, c'est à dire avec une seule requete.
J'ai regardé la doc sur mysql.com mais je trouve qu'elle n'est pas très claire et sans assez d'exemples.
Quelqu'un pourrait m'expliquer quelle structure doit avoir ma requete pour gérer ces 2 liens en cascade?
merci d'avance
lundi 2 août 2004 à 14:51:59 | Re : Delete en cascade...

Psy

Salut kikOune !

Bon, alors à froid, je dirai :
Delete From table1,table2 where table1.type_article=valeurquivabien and table2.id_type_article=iddutypeasupprimer


Mais bon, là je suis sur à 1% donc à tester (sorry mais je viens de manger et l'envie d'une sieste me taquine ...)

Tiens moi au courant, je poursuivrais mon aide ;)
- Psy -
lundi 2 août 2004 à 15:00:11 | Re : Delete en cascade...

roscovich

Pour information le DELETE multi-table ne fonctionnne qu'a partir de la version 4
et la syntaxe est la suivante
DELETE t1,t2 FROM t1,t2,t3 WHERE ***;
ici t3 n'est pas affecté par la suppression mais permet de servir dans les conditions du WHERE

gilles
lundi 2 août 2004 à 15:05:13 | Re : Delete en cascade...

kik0une

Merci à vous 2 mais en fait j'ai fait 3 requetes, une pour chaque table, car je suis un peu en retard dans mon projet (je suis en stage...) dc je peux pas passer trop de temps la dessus.
Je met qd meme mon bout de code qui marche, au cas où qq'un se retrouverait ds le mm cas que moi.

//sélection des articles correspondant au type d'article à supprimer
$select="SELECT id_art, id_typ_art FROM article, type_article WHERE id_typ_art=typ_art_id AND id_typ_art=".$_POST["select"];
$req_sel=mysql_query($select);

//pour chaque article sélectionné
while($data_sel=mysql_fetch_array($req_sel))
{
//suppression de ses tarifs
$delete="DELETE FROM tarif_article WHERE art_id=".$data_sel["id_art"];
$req=mysql_query($delete) or die("erreur suppression tarif");
}
//si tout se passe bien
if($req)
{
echo "suppression des tarifs [OK]<br>";
//suppression des articles correspondant au type d'article à supprimer
$delete2="DELETE FROM article WHERE id_art=".$_POST["select"];
$req2=mysql_query($delete2) or die("erreur suppression article");
//si tout se passe bien
if($req2)
{
echo "suppression des articles [OK]<br>";
//suppression du type d'article
$delete3="DELETE FROM type_article WHERE id_typ_art=".$_POST["select"];
$req3=mysql_query($delete3) or die("erreur suppression type article");
if($req3)
echo "suppression du type d'article [OK]";
}
}

(dsl si le code est mal affiché, c pas pratique on peut pas prévisualiser ;-) )


Cette discussion est classée dans : mysql, type, article, delete, cascade


Répondre à ce message

Sujets en rapport avec ce message

MySQL [ par intello2001 ] $requete = "DELETE FROM $acc";je voudrai savoir comment suprimer qu'une ligne (la 2eme)$requete = "DELETE FROM $acc LIMIT 1"; ne marche pas Questions debutants mysql [ par zzzzzz ] Hello,J'ai une question en mysql.Exemplej'ai article_rituelnoir en table.En champs j'ai:Auteur Date TitreJ'aimerai afficher la PREMIERE entrée de "Ti retour de DELETE en sql? [ par nlh ] Bonjour bonjour,j'ai une ptite question sql..., voila :je voudrai connaitre le nombre d'adresses qui ont été supprimées lors d'une requete DELETEpar e Additionner le résultat d'une requête MySQL [ par djpunk ] Je fais une requête sur ma base SQL du style :$d = mysql_query("SELECT * FROM articles WHERE type='$type' AND idtype='$id'");et j'aurais voulu savoir Système d'article ? [ par tahiti_bob ] Bonjour,Sur certains sites où il y a des articles (type journaux), j'ai vu une URL de ce type:http://lesite.fr/script.php/1234/56789/...J'aurais voulu Le filtre ne fonctionne pas [ par Joleroy ] Salut a tous!J ai cree une page appelé Kits.php qu j appelle par Kit.php?tipekit=type_du_kitVoici son code:$type=$_GET['typekit'];$connect = mysql_con MySQL_INSERT_ID mais pour le delete ???? [ par ripoux ] Hello,Peut-être l'aurez-vous compris dans le titre...Je cherche un moyen pour faire un delete de plusieur table relié entre elle.Pour un Insert, il ex pb DELETE requete sql [ par kyript ] Bonjours à tous voila mon problème j'ai un script avec un formulaire qui met a jour une table de la bdd. A la fin de ce script j'ai un "include" su probleme menu deroulant+php mysql [ par antillais ] Dans une page de saisie j'ai 3 premiers menu deroulant : - arrondissements(les 20 de paris) - type d'etablissement(primmaire, college etc) - nom d'eta probleme menu deroulant+php mysql [ par antillais ] Dans une page de saisie j'ai 3 premiers menu deroulant : - arrondissements(les 20 de paris) - type d'etablissement(primmaire, college etc) - nom d'eta


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,558 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales