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

  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] SELECT à partir d'un array() sans faire de boucle ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mysql] SELECT à partir d'un array() sans faire de boucle ?

n°639346
Big-Foot
Posté le 11-02-2004 à 19:13:27  profilanswer
 

hello,
 
Je sais le titre n'est pas tres clair, voici mon probleme :
 
j'ai un tableau PHP :

Code :
  1. $total_news =  mysql_num_rows($sql);


 
et je voudrais sortir des infos d'une table mysql en utilisant les infos de $total_news["title"]

Code :
  1. mysql_query("SELECT ...` FROM ... WHERE `title` = '$news["title"]'" );


 
Je vous demande donc de m'expliquer comment faire cela sans faire de boucle et donc sans augmenter le nombre de requettes mysql.
 
merci


Message édité par Big-Foot le 11-02-2004 à 19:49:37
mood
Publicité
Posté le 11-02-2004 à 19:13:27  profilanswer
 

n°639372
Core 666
Posté le 11-02-2004 à 19:50:49  profilanswer
 

Big-Foot a écrit :

hello,
 
Je sais le titre n'est pas tres clair, voici mon probleme :
 
j'ai un tableau PHP :

Code :
  1. $total_news =  mysql_num_rows($sql);



 
Tout ce que tu vas avoir dans $total_news c'est le nombre de lignes retournées par ta requête $sql, pas un tableau  :heink:
 
$news["title"] n'existera pas ...  

n°639425
Big-Foot
Posté le 11-02-2004 à 20:27:07  profilanswer
 

ouai, je sais c'est pour ca que je demande comment faire
 
avec un implode() peut etre ? mais mon $news est multidimensionnel

n°639435
mrbebert
Posté le 11-02-2004 à 20:41:26  profilanswer
 

Tu peux construire une requête de cette forme :
SELECT ... FROM ... WHERE title IN ('titre1', 'titre2', 'titre3')
 
Sinon, il faut regarder comment tu construits la liste de ces titres. Peut être que tu peux faire une jointure à ce moment pour tout récupérer d'un coup [:figti]

n°639448
Big-Foot
Posté le 11-02-2004 à 20:51:47  profilanswer
 

une jointure ? c'est quoi ? 2 query en 1 ?

n°639453
mrbebert
Posté le 11-02-2004 à 20:53:54  profilanswer
 

c'est une requête qui porte sur 2 (ou plus) tables simultanément, pour faire correspondre les données qui vont bien ensemble :)

n°639465
Big-Foot
Posté le 11-02-2004 à 21:01:20  profilanswer
 

ah ok, c'est ce que j'ai pensé faire au début mais j'ai laisser tomber car je ne savait pas comment faire.
Mais vu que le reste ne fonctionne pas super bien je vais essayer comme ca :)
Est ce que tu peut me donner juste un exemple d'une telle requete ?

n°639587
mrbebert
Posté le 11-02-2004 à 21:56:50  profilanswer
 

Par exemples, si tu as 2 tables :
 
clients :
- id
- nom
- adresse
 
commandes :
- montant
- date
- idclient (le numéro du client dans la table 'clients')
 
Si tu veux récupérer la liste des montants des commandes avec le nom du client correspondant :
SELECT commandes.montant, clients.nom  
FROM clients, commandes
WHERE commandes.idclient=clients.id
 
La clause du WHERE est importante, c'est elle qui permet de se limiter uniquement aux lignes "qui vont bien" :)

n°639655
Big-Foot
Posté le 11-02-2004 à 22:24:13  profilanswer
 

merci
entre temps j'avais jeté un coup d'oeil a la doc et j'ai fait ca :
 
SELECT `title`,  `text`, `poster`, `time`  
FROM `news`, `text`  
WHERE `news_id` = '4',`news.title`=`text.nom`
 
ca a pas l'aire de marcher a cause de la 2eme partie de mon WHERE : `news.title`=`text.nom`
je sais pas comment exprimer ca correctement dans ma requette, je voudrais que cette partie de la contidition ne s'applique qu'a "text"

n°639661
mrbebert
Posté le 11-02-2004 à 22:27:03  profilanswer
 

... WHERE (...) AND (...)
 
Si ton champ news_id est un entier, inutile de le mettre entre '4' :)


Message édité par mrbebert le 11-02-2004 à 22:27:14
mood
Publicité
Posté le 11-02-2004 à 22:27:03  profilanswer
 

n°639675
Big-Foot
Posté le 11-02-2004 à 22:34:13  profilanswer
 

merci de ton aide :)
 
j'avais aussi essayer avec AND, on fait si ca merchat pas c'est a cause de la sysntaxe, il fallait mettre :
WHERE `news_id` = 4, news.title=text.nom
au lieu de :
WHERE `news_id` = '4',`news.title`=`text.nom`
 
et merci pour l'histoire des '' ca m'en epargnera pas mal :D


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

  [mysql] SELECT à partir d'un array() sans faire de boucle ?

 

Sujets relatifs
[PHP] [MYSQL] requête sur partie de la date?Mysql et jonas
MySql/PostgreSql LDAP...[MySQL] Moyenne sur des Heures
[DOM] Modifier le style d'un élément SELECT[MYSQL] Suppression des tables par erreur...
Commande DOS pour changer mon mot de pass MYSQLavenir de mysql ?
Pas moyen d'installer MYSQL 
Plus de sujets relatifs à : [mysql] SELECT à partir d'un array() sans faire de boucle ?


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