Toujours avec MySQL ( de toutes facons, les vraies optimisations ( celles qui font gagner plus que quelques dixi�mes de miscroseconde ) ne touchent principalement que les acc�s BDD).
Il arrive fr�quement lors d'un SELECT, notemment lorsqu'un sp�cifie un WHERE ou �quivalent dans la requ�te, que l'on sache a 100% que le retour de la requete ne comportera qu'un seul enregistrement.
D�ja, la premi�re bonne id�e c'est de ne pas faire de boucle, on peut y aller directement comme ceci :
$results = mysql_fetch_array(mysql_query("SELECT * FROM table WHERE champ = 'valeur'"));
Ensuite, si l'on est toujours dans la meme configuration et que en plus, on nomme les champs que l'on va selectionner dans la requete, au lieu de faire comme ci dessus et d'ensuite utiliser le tableau '$results', on peut utiliser une fonction assez m�conue : list(), comme ceci:
list($var1, $var2, $varn) = mysql_fetch_row(mysql_query("SELECT champ1, champ2, champn FROM table WHERE champx = 'valeur'"));
On peut ainsi utiliser directement les variables, en plus on utilise un mysql_fetch_row au lieu d'un
mysql_fetch_array.
Les malins auront compris que dans le cas ou les retours de requetes sont multiples, on peut utiliser list() sur le tableau analys� par la boucle pour des raisons pratiques.
Partager