Tom's Guide > Forum > Programmation > [Résolu] [PHP] Combiner 2 requêtes

[Résolu] [PHP] Combiner 2 requêtes

Forum Programmation : [Résolu] [PHP] Combiner 2 requêtes

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !

Lire la meilleure réponse, apportée par okinou.

Mot :    Pseudo :           
 

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 :
  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 ;)

------------------------------ Lost Saison 6 !Tom's Guide Style maintenant pour Opera !
C'est un forum de discussions, pas un centre d'éducation pour petits mongols ©DP
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é).
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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.

------------------------------ La boutique Sexy : http://www.dream-shop.fr pour toutes vos envies à petits prix !
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 :
  1. mysql_query("DELETE FROM news WHERE id='$id'" );
  2. mysql_query("DELETE FROM news_commentaires WHERE id_logiciel='$id'" );

------------------------------ Lost Saison 6 !Tom's Guide Style maintenant pour Opera !
C'est un forum de discussions, pas un centre d'éducation pour petits mongols ©DP
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 :)

------------------------------ La boutique Sexy : http://www.dream-shop.fr pour toutes vos envies à petits prix !
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 :/

------------------------------ Lost Saison 6 !Tom's Guide Style maintenant pour Opera !
C'est un forum de discussions, pas un centre d'éducation pour petits mongols ©DP
Répondre à Flobesst

met les ligne de 7 a 18.


Message édité par okinou le 27-07-2009 à 18:47:40
------------------------------ La boutique Sexy : http://www.dream-shop.fr pour toutes vos envies à petits prix !
Webmaster, rentabilisez votre trafic : http://www.dream-shop.fr/affiliation 28% de commission !
Répondre à okinou

Les voici:

Code :
  1. // S'il sagit d'une suppression
  2.         if (isset($_GET['mode']) AND $_GET['mode'] == suppression)
  3.         {
  4.             $id = $_GET['id']
  5.             mysql_query("DELETE FROM news WHERE id='".$id."'" );
  6.             mysql_query("DELETE FROM news_commentaires WHERE id_logiciel='".$id."'" );
  7.       ?>
  8.       <p align="center">L'article a été supprimé avec succès !</p>
  9.       <p align="center"><a href="index.php">Retourner aux News</a>.</p>
  10.       <?php

------------------------------ Lost Saison 6 !Tom's Guide Style maintenant pour Opera !
C'est un forum de discussions, pas un centre d'éducation pour petits mongols ©DP
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.

------------------------------ La boutique Sexy : http://www.dream-shop.fr pour toutes vos envies à petits prix !
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... :/

------------------------------ Lost Saison 6 !Tom's Guide Style maintenant pour Opera !
C'est un forum de discussions, pas un centre d'éducation pour petits mongols ©DP
Répondre à Flobesst
Meilleure réponse

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é).

------------------------------ La boutique Sexy : http://www.dream-shop.fr pour toutes vos envies à petits prix !
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 ^^

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

andrelec1 a écrit :

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 ;)

------------------------------ Lost Saison 6 !Tom's Guide Style maintenant pour Opera !
C'est un forum de discussions, pas un centre d'éducation pour petits mongols ©DP
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

------------------------------ XD --> peut aussi se dessiner --> XP
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 ;)

------------------------------ Lost Saison 6 !Tom's Guide Style maintenant pour Opera !
C'est un forum de discussions, pas un centre d'éducation pour petits mongols ©DP
Répondre à Flobesst

Voici un script qui explique la migration

J'ai un texte plus détaillé en cours de rédaction

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

Ah oui, c'est un peu plus clair :)

------------------------------ Lost Saison 6 !Tom's Guide Style maintenant pour Opera !
C'est un forum de discussions, pas un centre d'éducation pour petits mongols ©DP
Répondre à Flobesst
Tom's Guide > Forum > Programmation > [Résolu] [PHP] Combiner 2 requêtes
Aller à :

Il y a 2096 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens