Réunir 2 requetes sql en une


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Réunir 2 requetes sql en une

Message le Lun Nov 23, 2009 19:06

Bonjour,

J'aimerais savoir comment je pourrais faire pour faire une seule requete au lieu de 2 dans ce code. Surement avec un jointure quelconque. Pouvez vous m'aider ?

Merci

Code: Tout sélectionner
$listquery = mysql_query(sprintf("SELECT id, date, contact FROM %s_contacts WHERE id_user='%d' ORDER BY contact DESC LIMIT %d, %d", $mysql->pref, mysql_real_escape_string($userrow['id']), $limit_start, $pagination));

while ($listrow = mysql_fetch_assoc($listquery)) {

         $playerquery = mysql_query(sprintf("SELECT charname, avatar FROM %s_users WHERE id='%d' LIMIT 1", $mysql->pref, mysql_real_escape_string($listrow['contact'])));
         $playerrow = mysql_fetch_assoc($playerquery);

         echo 'texte ici';
         
      }


Anto1982
WRInaute passionné
WRInaute passionné
 
Messages: 1334
Inscription: 7 Mai 2009

Re: Réunir 2 requetes sql en une

Message le Lun Nov 23, 2009 20:51

Essaye un truc du genre:
Code: Tout sélectionner
SELECT %s_contacts.id, %s_contacts.date, %s_contacts.contact, %s_users.charname, %s_users.avatar
FROM %s_users
LEFT JOIN %s_contacts ON %s_contacts.id=%s_users.id
WHERE id_user='%d' ORDER BY %s_contacts.contact DESC LIMIT %d, %d"


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Re: Réunir 2 requetes sql en une

Message le Lun Nov 23, 2009 21:29

Merci Anto1982 ca fonctionne impécable. En vitesse d'exécution c'est plus rapide avec une seule requête ?


screuscreu
WRInaute impliqué
WRInaute impliqué
 
Messages: 968
Inscription: 14 Jan 2008

Re: Réunir 2 requetes sql en une

Message le Mar Nov 24, 2009 7:43

Beaucoup plus rapide pour 2 principales raisons : une seule connexion à ta base et une seule requête, donc une seule fois les temps de latence entre PHP et ta base ... alors que ta première version pouvait faire de nombreux passages ;)
En plus ton code est plus court en PHP, donc exécute plus vite je présume !


Anto1982
WRInaute passionné
WRInaute passionné
 
Messages: 1334
Inscription: 7 Mai 2009

Re: Réunir 2 requetes sql en une

Message le Mar Nov 24, 2009 8:57

De rien :-) J'avais moi même pas mal galéré avant d'y arriver...!


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: enams90 et 0 invités