Un problème de requête...
le 04/09/2003 à 12:56
cakay
Bonjour,
Je souhaite faire un récapitulatif html d'une base de donnée avec php.
Voici les données de départ :
c1 = heure, c2 = nom, c3 = nb
18:00 toto 5
18:01 tata 3
18:05 toto 1
18:06 tata 7
18:10 toto 2
je voudrais afficher le dernier toto et tata enregistrés. j'ai essayé avec
MAX(c1) AS c1 mais je n'obtiens pas le résultat voulu.
Merci pour votre aide.
MySQL 3.23, PHP 4.2
le 04/09/2003 à 13:11
i M@N
One Love, One Heart, One Unity.
le 04/09/2003 à 13:16
i M@N
Reuh ...
Arf !
pour faire fonctionner le script sur le wall, il faudra que t'aies une table avec un champ id auto-increment ...
@+...
One Love, One Heart, One Unity.
le 04/09/2003 à 13:35
cakay
Merci pour votre,
J'ai dans une base des informations qui sont saisies suivant une évolution horaire. J'aimerais ensuite afficher ces informations réactualisés.
Exemple:
13:00 nom1 val text num
13:05 nom2 val text num
13:05 nom1 val text num
13:30 nom3 val text num
13:35 nom2 val text num
etc...
Comment afficher la dernière mise à jour de nom1, nom2 et nom3 ?
Avec un id unique autoincrémenté je peux faire
$sql = "
SELECT
MAX(ID),
nom,
heure,
val,
text,
num
FROM bd
WHERE date_create = 'TODAY'
GROUP BY nom
";
$res= send_sql($sql);
Ensuite créer le tableau, etc...
Le problème est qu'il m'affiche que les valeurs du premier enregistrement et non pas les plus récents.
Merci beaucoup de m'aider.
En clair, tu veux quoi ?
Le nom1 qui a la date la plus avancee c'est ca ?
Si oui, alors fait :
SELECT ce_que_tu_veux FROM ta_table WHERE nom="nom1" ORDER BY date_create DESC LIMIT 1
Voila
Ou bien est ce que tu veux tous les noms et ce, à la date la plus avancée ?
le 04/09/2003 à 14:11
cakay
<i>Ou bien est ce que tu veux tous les noms et ce, à la date la plus avancée ?</i>
oui oui c'est bien ce que je veux :)
Merci.
le 04/09/2003 à 14:14
cakay
Tu as une idée ?
Donc j'aimerai pouvoir afficher tous les noms et ce, à la date la plus avancée
PS : excusez-moi pour le double message. j'ai eu peur qu'il y ait confusion.
Merci.
Oui, ca doit pouvoir surement se faire avec un ti' group by ca
Je vais tester çà cet apres-midi, je te donnerais une reponse.
Mais la, je vais manger
le 04/09/2003 à 16:46
cakay
Bon appétit ;-)
Merci pour ton aide :-)
le 08/09/2003 à 21:25
cakay
merci de m'avoir aidé pour cette requête ;)
il suffisait d'écrire la requête SQL en php
$sql=mysql_query("CREATE TABLE tmp (C2 varchar(20) , id varchar(2))");
$sql=mysql_query("INSERT INTO tmp select C2, MAX(id) from table GROUP BY C2");
ensuite de faire le "select...where" qui va bien :D