Un problème de requête...

Répondre
cakay
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
i M@N
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.
cakay
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.
LA GLOBULE
le 04/09/2003 à 14:05
LA GLOBULE
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 smiley

Ou bien est ce que tu veux tous les noms et ce, à la date la plus avancée ?
cakay
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.
cakay
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.
LA GLOBULE
le 04/09/2003 à 14:17
LA GLOBULE
Oui, ca doit pouvoir surement se faire avec un ti' group by ca smiley

Je vais tester çà cet apres-midi, je te donnerais une reponse.

Mais la, je vais manger smiley
cakay
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
Répondre
LoadingChargement en cours