Nombre de requêtes

Nombre de requêtes - PHP - Programmation

Marsh Posté le 02-06-2007 à 10:13:30    

Bonjour, j'aimerai optimisé une requête que j'ai, les regrouper en une ; j'ai lu qu'il était préférable de faire une requete que plusieurs ! Ca fait deja plusieurs fois que j'essaye mais j'ai du mal avec les " $i "  

Code :
  1. echo '<table width="100%" cellspacing="2" cellpadding="2" border="0" class="header">'
  2.      .'<tr Valign="top">'
  3.      .'<td class="titre" align="center" width="25%">'.trad('001').'</a></td>'
  4.      .'<td class="titre" align="center" width="25%">'.trad('002').'</td>'
  5.      .'<td class="titre" align="center" width="25%">'.trad('003').'</td>'
  6.      .'</tr>'
  7.      .'<tr Valign="top">'
  8.      .'<td align="center" width="25%" '.$rowcolor.'>';
  9.      $mo1='01';
  10.      $mis1=sql_query('select * from '.$Prefix.'users_extend WHERE T1 LIKE \'%/'.$mo1.'/%\'');
  11.      $ja=mysql_Num_Rows($mis1);
  12.      if ($ja > 1) $s01 = 's';
  13.      echo '<br /><span class="rouge">'.$ja.'</span><br /> <a href="'.$ThisFile.'&amp;subop=detail&amp;mo='.$mo1.'" class="noir">'.trad('resultat').''.$s01.'</a><br />&nbsp;'
  14.      .'</td>'
  15.      .'<td align="center" width="25%">';
  16.      $mo2='02';
  17.      $mis2=sql_query('select * from '.$Prefix.'users_extend WHERE T1 LIKE \'%/'.$mo2.'/%\'');
  18.      $fe=mysql_Num_Rows($mis2);
  19.      if ($fe > 1) $s02 = 's';
  20.      echo '<br /><span class="rouge">'.$fe.'</span><br /> <a href="'.$ThisFile.'&amp;subop=detail&amp;mo='.$mo2.'" class="noir">'._trad('resultat').''.$s02.'</a><br />&nbsp;'
  21.      .'</td>'
  22.      .'<td align="center" width="25%" '.$rowcolor.'>';
  23.      $mo3='03';
  24.      $mis3=sql_query('select * from '.$Prefix.'users_extend WHERE T1 LIKE \'%/'.$mo3.'/%\'');
  25.      $ma=mysql_Num_Rows($mis3);
  26.      if ($ma > 1) $s03 = 's';
  27.      echo '<br /><span class="rouge">'.$ma.'</span><br /> <a href="'.$ThisFile.'&amp;subop=detail&amp;mo='.$mo3.'" class="noir">'._trad('resultat').''.$s03.'</a><br />&nbsp;'
  28.      .'</td></tr></table>'


Merci !

Reply

Marsh Posté le 02-06-2007 à 10:13:30   

Reply

Marsh Posté le 02-06-2007 à 12:42:39    

<td class="titre"> : <th> existe :o
$var1."".$var2 : le "" sert à rien c'est pour les supersticieux ce genre de trucs :D
class="rouge" : c'est mal :o autant oublier le CSS :o
ton code est redondant, please use for() {} [:ojap]

 

et sinon pour tes requetes, je vois pas de façon simple de les grouper, par contre :
- perso je te conseille de faire toutes tes requetes avant l'affichage (plus pratique, plus lisible, etc)
-  "select *" c'est très mal :o tu chope tous les champs alors que tu ne les lis même pas et ça ralentit :o c'est soit "SELECT {un seul champ au pif} FROM .."->mysql_num_rows() ; soit SELECT COUNT({un seul champ au pif}) FROM..." qui te retournera direct le décompte.


Message édité par theredled le 02-06-2007 à 12:45:46

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 06-06-2007 à 18:38:18    

Numérique indéxé le champ au pif c'est encore mieux :o

Reply

Marsh Posté le 06-06-2007 à 18:44:45    

tiens oui pas con ça :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 06-06-2007 à 18:47:30    

Theredled>merci pour les conseils par contre leflos5>je comprends pas ??

Reply

Marsh Posté le 06-06-2007 à 20:05:10    

oimoim a écrit :

Theredled>merci pour les conseils par contre leflos5>je comprends pas ??


Le {champ au pif}, s'il est numérique et indexé (en gros, la clé primaire de ta table), c'est plus rapide.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 06-06-2007 à 20:08:01    

Ha ok, merci pour l'info !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed