On Mon, Mar 18, 2002 at 09:20:44PM +0100, Pascal Perez - LHA wrote:
> $mod8_dateMax = mysql_fetch_array(mysql_query("SELECT MAX(date) FROM
> module_8"));
> $mod8_rapport = mysql_fetch_array(mysql_query("SELECT * FROM
> module_8 WHERE date='".$mod8_dateMax["MAX(date)"]."'"));
> est-il possible d'en faire qu'une requ�te ?
Je dirais :
$result = mysql_query("SELECT * FROM module_8 ORDER BY date DESC LIMIT 1");
$mod8_rapport = mysql_fetch_array($result);
> De plus, si je fais mysql_num_rows(mysql_query("SELECT MAX(date)
> FROM module_8")); j'obtient 1 m�me si il n'y a aucun
> champ.... comment contourner cela ?
Apr�s rapide test :
mysql> select max(id) from table;
+---------+
| max(id) |
+---------+
| NULL |
+---------+
1 row in set (0.01 sec)
mysql>
Au lieu de ne rien retourner, il retourne un champ nul. Qui bien sur
est compt� comme un champ :)
Par contre :
mysql> select id from table;
Empty set (0.00 sec)
mysql>
Ca doit venir de la fonction max() qui retourne qqch dans tous les
cas, voire rien.
A la place, utilise donc plutot :
mysql_num_rows(mysql_query("SELECT date FROM module_8"));
Ou, plus joli :
$result = mysql_query("SELECT COUNT(date) FROM module_8");
list($nombre) = mysql_fetch_row($result);
Enfin, dernier conseil, teste le retour de mysql_query()
[p ex :
if(!$result = mysql_query("SELECT * FROM module_8 ORDER BY date DESC LIMIT 1")) {
echo "oops";
}
else {
$mod8_rapport = mysql_fetch_array($result);
}
]
histoire d'�viter les laides erreurs g�n�r�es par PHP ;)
PS: Aucun bout de code n'a �t� test�, il n'est donc soumis � aucune
garantie ;)
--
Sebastien Cevey <[EMAIL PROTECTED]>
Cine7 - www.cine7.net
Milcis - www.milcis.net
ICQ: 488956760
" Feel, don't think. Use your instincts. "
Liam Neeson (Qui-Gon Jinn) [ Star Wars Episode 1 ]
--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.