Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1750 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu] Plusieurs requetes MySQL > Syntaxe PHP ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu] Plusieurs requetes MySQL > Syntaxe PHP ?

n°1205852
dcvlm
Yep
Posté le 23-09-2005 à 13:35:52  profilanswer
 

Bonjour a tous !!
 
La reponse est certainement tres simple, elle existe certainement sur internet, mais mes recherches m oritent tjs hors sujet !!
 
Je souhaite dc savoir quelle est la syntaxe PHP pr plusieurs requetes MySQL (je souhaite construire ma requete avec une boucle for, comme le montre l exemple suivant !)
 

Code :
  1. if (isset($_POST['list_id'])) $list_id=$_POST['list_id'];
  2. $nb_rows=sizeof($list_id);
  3. $sql="";
  4. foreach ($list_id as $id) {
  5.  $sql.= 'UPDATE `dico` SET `display` = \'0\' WHERE `id` = \''.$id.'\' LIMIT 1 ;';
  6.    
  7.         }
  8. $sql.= ' ';
  9. $req = mysql_query($sql) or die('SQL Error!<br>'.$sql.'<br>'.mysql_error());
  10. echo "$nb_rows updated";


 
Thanks for your help ! :hello:


Message édité par dcvlm le 23-09-2005 à 16:22:36

---------------
ZZZZzzzzz
mood
Publicité
Posté le 23-09-2005 à 13:35:52  profilanswer
 

n°1205865
soju
One shot !
Posté le 23-09-2005 à 13:49:43  profilanswer
 

tu peux le faire avec une seule requete, par exemple :

Code :
  1. $list = join(',', $list_id);
  2. $sql = 'UPDATE `dico` SET `display` = '0' WHERE `id` IN ('.$list.')';

n°1206010
dcvlm
Yep
Posté le 23-09-2005 à 15:41:36  profilanswer
 

soju a écrit :

tu peux le faire avec une seule requete, par exemple :

Code :
  1. $list = join(',', $list_id);
  2. $sql = 'UPDATE `dico` SET `display` = '0' WHERE `id` IN ('.$list.')';



 
Grant ! It works !  :jap:  
Mais je serai tt de meme interesse de connaitre la syntaxe que je cherchais a la base (ca pourrait me servir !)...ne serait ce qu un super lien que je n ai pas encore rencontre !!!
Merci


---------------
ZZZZzzzzz
n°1206014
soju
One shot !
Posté le 23-09-2005 à 15:43:40  profilanswer
 

dcvlm a écrit :

Mais je serai tt de meme interesse de connaitre la syntaxe que je cherchais a la base


tu ne peux executer qu'une seule requête avec mysql_query, donc au lieu de concaténer tes requêtes il aurait fallu mettre mysql_query dans la boucle

n°1206017
dcvlm
Yep
Posté le 23-09-2005 à 15:50:09  profilanswer
 

soju a écrit :

tu ne peux executer qu'une seule requête avec mysql_query, donc au lieu de concaténer tes requêtes il aurait fallu mettre mysql_query dans la boucle


 :ouch: Sapristi !! C vraiment impossible de lui dire :
#fait : ca ca et ca
il faut donc lui dire:
#tu vois, ca, bah tu le fais
#tu vois, ca, bah tu le fais
#tu vois, ca, bah tu le fais
 
 :??:  :??:  :??:  :??: Parce que ds PhpMyAdmin, qd on demande de generer la source PHP, il nous en met plusieurs d un coup..... ctun leurre !!  :??:  
(ne tapez pas dessus, je ne suis pas sense etre un pro Php/MySql  :non: )
 
 :hello:


---------------
ZZZZzzzzz
n°1206042
omega2
Posté le 23-09-2005 à 16:14:54  profilanswer
 

Ben tu pourais tenter en  

  • séparant les requettes par "union" mais le comportement n'est pas défini pour des update vu que "union" n'est normalement prévus que pour des "select" ou des "show"
  • imbriquant les requettes, mais ca serait vraiment chercher la complication.
  • utiliser des instructions comme "CASE" ( http://www.nexen.net/docs/mysql/an [...] ?lien=then ) mais dans ton cas ca n'avais aucun intéré et le but de l'utilisation de case, c'est de retomber sur une seule requette sql.


Sinon, il faut utiliser une requette stocké mais là, c'est vraiment se compliquer la tache et ca ne ferait que déplacer le probléme.
 
 
EDIT : Et oui, phpmyadmin découpe les ensembles de requettes pour n'en envoyer qu'une seule à la fois au serveur. ;) On peut donc envoyer plusieurs requettes à la fois à phpmyadmin, mais derriére, mysql ne les recoit qu'une par une.


Message édité par omega2 le 23-09-2005 à 16:16:27
n°1206048
soju
One shot !
Posté le 23-09-2005 à 16:19:25  profilanswer
 

sinon ya toujours la commande mysql : http://dev.mysql.com/doc/mysql/fr/batch-commands.html

n°1206050
dcvlm
Yep
Posté le 23-09-2005 à 16:21:31  profilanswer
 

Merci pour vos reponses ! :)


---------------
ZZZZzzzzz

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu] Plusieurs requetes MySQL > Syntaxe PHP ?

 

Sujets relatifs
[Résolu] Migration VBA --> VBRecuperer plusieurs ROWS SQL avec une fonction PHP ?
[Résolu] Intégrer un include PHP[PHP] Afficher des images dans l'ordre alphabétique
Upload d'image gif,jpeg png avec PHP lib GDrecherche php mysql
[résolu]dernière occurence dans une feuille[RESOLU]récupérer le nom d'un executable pour le lancer
Plus de sujets relatifs à : [Resolu] Plusieurs requetes MySQL > Syntaxe PHP ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR