Se connecter avec
S'enregistrer | Connectez-vous
Votre question

Question

Flobesst http://m.bestofmedia.com/sfp/design/usr/fr/avatars/fd/f1/295237.png
Administrateur
| dans Programmation

[PHP] Combiner 2 requêtes

Bonjour à tous,

Voici mon soucis: je cherche à effectuer 2 suppressions simultanées mais dans 2 tables différentes sauf que je ne sais pas comment procéder.

J'ai une table "news" contenant un champ "id". J'ai une seconde table "news_commentaires" contenant un champ "id_logiciel". Donc "id_logiciel" = "id".
Je cherche à faire les requêtes suivantes en une seule:
  1. mysql_query("DELETE FROM news WHERE id='$id'");
  2. mysql_query("DELETE FROM news_commentaires WHERE id_logiciel='$id'");

Merci d'avance pour votre aide ;) 
0
Vous devez être inscrit pour voter pour une question
  • Partagez
  • Etre averti des réponses
  • Ajouter aux favoris
Lassé par la pub ? Créez un compte
Ces contenus peuvent également vous intéresser
Solutions (15)
Meilleure solution
okinou http://m.bestofmedia.com/sfp/images/design/noimg/no-profil-100x100.jpg
Expert Programmation
Initié
Parse error: syntax error, unexpected T_STRING

> je te laisse rechercher sur google, comme ca tu verras à quoi est due cette erreur.
de plus, je te conseil d'installer un editeur de texte avec colorisation syntaxique, tu aura beaucoup plus de faciliter a concaténer tes strings (chaine) avec par exemple, que j'utilise : notepad++ (gratuit et supporte pas mal de langage avec les fonctions pré-enregistré).
  • Partagez
Autres solutions (14)
Trier par
Flobesst http://m.bestofmedia.com/sfp/design/usr/fr/avatars/fd/f1/295237.png
Administrateur
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
Ah oui, c'est un peu plus clair :) 
SiM07 http://m.bestofmedia.com/sfp/design/usr/fr/avatars/93/3f/58442.jpg
Expert Programmation
Ex-AdMiN
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
Voici un script qui explique la migration

J'ai un texte plus détaillé en cours de rédaction
Flobesst http://m.bestofmedia.com/sfp/design/usr/fr/avatars/fd/f1/295237.png
Administrateur
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
Ah ça peut être utile...

Mais pour l'instant, ça fonctionne comme ça donc je ne vais pas trop toucher. Par contre, je garde ton idée pour plus tard quand j'aurais plus de facilités avec MySQL. Merci en tous cas ;) 
andrelec1 http://m.bestofmedia.com/sfp/design/usr/fr/avatars/d6/f9/178730.jpg
Expert Programmation
Habitué
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
heuu oui simple ! ! !
tu va dans ton phpmyadmin , et quand tu cree la base ( tu peut le changer meme apres l'avoir cree ;)  )

tu va l'onglet operation et tu change la ligne Moteur de stockage qui es par defaut MyISAM en innobd

ensuite , tu passe le champ de id de l'article en primair sur la base des article , et sur la base des commentaire , tu fais aussi passer le champ avec l'id de l'article au quel sont lier les commentaire en primaire , puis tu a un lien sous ta base de le tableau de t'es base de donner qui es aparu : Gestion des relation !

ta plus cas metre la relation et ON DELETE -- CASCADE ON UPDATE -- CASCADE

et lorsque tu va suprimer un article c'est la base de donner qui va automatiquement surprimer les commentaire associer , cela soulageras ta BDD
Flobesst http://m.bestofmedia.com/sfp/design/usr/fr/avatars/fd/f1/295237.png
Administrateur
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
andrelec1 a dit :
hey ... entait ya plus simple ! ! !
change le moteur de t'es base de donner , pour mettre innobd , puis tu t'es clef primaire et tu les lie , comme sa si tu supprime un article c'est mysql qui va supprimer les commentaire lier a cette article tous seul ^^

Ah parce que tu appelles ça "simple" ? Je n'ai rien compris :D 

Mais le soucis est résolu, je m'en veux vraiment de te faire perdre du temps Okinou parce que j'aurais très bien pu me rendre compte tout seul qu'il manquait un " ; " :/ 

Merci de m'avoir ouvert les yeux en tous cas ;) 
andrelec1 http://m.bestofmedia.com/sfp/design/usr/fr/avatars/d6/f9/178730.jpg
Expert Programmation
Habitué
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
hey ... entait ya plus simple ! ! !
change le moteur de t'es base de donner , pour mettre innobd , puis tu t'es clef primaire et tu les lie , comme sa si tu supprime un article c'est mysql qui va supprimer les commentaire lier a cette article tous seul ^^
Flobesst http://m.bestofmedia.com/sfp/design/usr/fr/avatars/fd/f1/295237.png
Administrateur
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
C'est corrigé mais toujours la même erreur... :/ 
okinou http://m.bestofmedia.com/sfp/images/design/noimg/no-profil-100x100.jpg
Expert Programmation
Initié
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
if (isset($_GET['mode']) AND $_GET['mode'] == 'suppression')

et pas besoin de faire un isset si tu compare la variable avec une chaine bien défini, donc au final

if ($_GET['mode'] == 'suppression')

suffit.
Flobesst http://m.bestofmedia.com/sfp/design/usr/fr/avatars/fd/f1/295237.png
Administrateur
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
Les voici:
  1. // S'il sagit d'une suppression
  2. if (isset($_GET['mode']) AND $_GET['mode'] == suppression)
  3. {
  4. $id = $_GET['id']
  5.  
  6. mysql_query("DELETE FROM news WHERE id='".$id."'" );
  7. mysql_query("DELETE FROM news_commentaires WHERE id_logiciel='".$id."'" );
  8. ?>
  9. <p align="center">L'article a été supprimé avec succès !</p>
  10. <p align="center"><a href="index.php">Retourner aux News</a>.</p>
  11. <?php
okinou http://m.bestofmedia.com/sfp/images/design/noimg/no-profil-100x100.jpg
Expert Programmation
Initié
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
met les ligne de 7 a 18.
Flobesst http://m.bestofmedia.com/sfp/design/usr/fr/avatars/fd/f1/295237.png
Administrateur
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
J'ai toujours la même erreur, même en copiant/collant les 2 requêtes modifiées que tu viens de me donner :/ 
okinou http://m.bestofmedia.com/sfp/images/design/noimg/no-profil-100x100.jpg
Expert Programmation
Initié
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
1. mysql_query("DELETE FROM news WHERE id='".$id."'" );
2. mysql_query("DELETE FROM news_commentaires WHERE id_logiciel='".$id."'" );

donc enfait rien a voir avec une combinaison, tu avais juste une erreur de syntaxe :) 
Flobesst http://m.bestofmedia.com/sfp/design/usr/fr/avatars/fd/f1/295237.png
Administrateur
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
Eh bien PHP me retourne une erreur:
Citation :
Parse error: syntax error, unexpected T_STRING in C:\Inetpub\vhosts\bazar-info.net\httpdocs\Telechargements\logiciel_ajoute.php on line 13

Lignes 13 et 14:
  1. mysql_query("DELETE FROM news WHERE id='$id'");
  2. mysql_query("DELETE FROM news_commentaires WHERE id_logiciel='$id'");
okinou http://m.bestofmedia.com/sfp/images/design/noimg/no-profil-100x100.jpg
Expert Programmation
Initié
Voter contre
Vous devez avoir un badge bronze dans cette catégorie pour votre contre une solution.
Score 0
Voter pour
Ce score indique à quel point cette solution est soutenue par la communauté. Vous devez être inscrit pour voter pour une solution. Créez votre compte ou identifiez-vous.
Pourquoi cherches tu à les combiner ?
C'est normal d'avoir 2 requêtes à la suite vu que tu fais 2 opérations sur 2 table distinctes, rien d'anormal.
Lassé par la pub ? Créez un compte
non identifié
Vous n'êtes pas identifié. Se connecter ou S'enregistrer
Tom's guide dans le monde