Salut à tous.
J'ai fait une requête qui sélectionne quelques informations sur les membres (ancienneté, pseudo, id..). J'aimerais y intégrer le nombre de vidéos qu'ils ont posté, sachant qu'on peut le déterminer en comptant le nombre d'occurences de la table video dans lesquelles l'UID est égal à celui du membre .
J'ai donc commencé doucement, en tapant ceci:
Code :
- $query = mysql_query("SELECT signup.UID,signup.username,signup.addtime FROM signup ORDER BY UID" );
- while($row = mysql_fetch_array($query))
- {
- simplify($row,'');
- $query2 = mysql_query("SELECT COUNT(*) AS videos FROM video WHERE UID=" . $UID . "" );
- $nb = mysql_fetch_array($query2);
- $nb_videos = $nb['videos'];
- $old = floor((time()-$addtime)/(3600*24));
- echo $username . ' - Inscrit depuis ' . $old . ' jours - ' . $nb_videos . ' vidéos <br />';
- }
|
Tout va bien sauf que comme vous l'aurez compris, une requête est éxécutée pour chaque membre... Et étant donné que la BDD s'agrandit de jours en jours, le serveur va pas aimer .
J'ai donc cherché à intégrer mon COUNT dans la première requête par le biais d'une jointure, mais je ne vois pas trop comment faire, et les problèmes semblables cherchés sur Google ne sont pas concluants.
Merci d'avance et bonne après-midi.
Message édité par Zorro561 le 03-06-2007 à 14:55:33