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.

Répondre à