[Résolu] [PHP] Combiner 2 requêtes
Forum Programmation : [Résolu] [PHP] Combiner 2 requêtes
Lire la meilleure réponse, apportée par okinou.
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:
Code :
|
Merci d'avance pour votre aide
> 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é).
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.
Webmaster, rentabilisez votre trafic : http://www.dream-shop.fr/affiliation 28% de commission !
Répondre à okinou
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:
Code :
|
Répondre à Flobesst
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
Webmaster, rentabilisez votre trafic : http://www.dream-shop.fr/affiliation 28% de commission !
Répondre à okinou
J'ai toujours la même erreur, même en copiant/collant les 2 requêtes modifiées que tu viens de me donner
Répondre à Flobesst
met les ligne de 7 a 18.
Message édité par okinou le 27-07-2009 à 18:47:40
Webmaster, rentabilisez votre trafic : http://www.dream-shop.fr/affiliation 28% de commission !
Répondre à okinou
Les voici:
Code :
|
Répondre à Flobesst
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.
Webmaster, rentabilisez votre trafic : http://www.dream-shop.fr/affiliation 28% de commission !
Répondre à okinou
C'est corrigé mais toujours la même erreur...
Répondre à Flobesst
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é).
Webmaster, rentabilisez votre trafic : http://www.dream-shop.fr/affiliation 28% de commission !
Répondre à okinou
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 ^^
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1
| andrelec1 a écrit : hey ... entait ya plus simple ! ! !
|
Ah parce que tu appelles ça "simple" ? Je n'ai rien compris
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
Répondre à Flobesst
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
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1
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
Répondre à Flobesst
Voici un script qui explique la migration
J'ai un texte plus détaillé en cours de rédaction
Répondre à SiM07
Ah oui, c'est un peu plus clair
Répondre à Flobesst
Il y a 1799 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

okinou