A priori cela devrait sembler simple a qq qui connait le language Sql.
J'ai donc une base de données qui contient des infos triées par in id. Le code ci-dessous me permet d'afficher toute la base par ordre décroissant d'id.
Comment faire pour qu'il ne me selectionne que le dernier id (cad le plus élevé) ?
$requete=mysql_query("select * from titre order by id desc" );
while ($ligne = mysql_fetch_object($requete)) {
print "
Merci
Publicité
Posté le 05-04-2001 à 23:36:46
angiolino
Et pis crac...un bourre pif...
Posté le 05-04-2001 à 23:46:10
ou un endroit ou je pourrais me renseigner...
Hepil
Posté le 06-04-2001 à 08:49:21
il faudrait voir l'utilisation de MAX(ID) dans la requête
Lord II
PIB2000
Posté le 06-04-2001 à 09:25:32
Soit max(id)
soit " select * from titre order by id desc limit 1"
Fred999
Rabat-joie
Posté le 06-04-2001 à 10:22:49
Un p'tit select imbriqué?
select * from titre
where id = (select max (id) from titre)
jupiler
Un cousin...
Posté le 06-04-2001 à 10:38:11
Fred999 a écrit a écrit :
Un p'tit select imbriqué?
select * from titre
where id = (select max (id) from titre)
ca marche mais c'est pas le plus rapide
---------------
Je ne suis ni pour, ni contre, bien au contraire
thegti
La constipation se soigne ...
Posté le 06-04-2001 à 10:48:36
Moi je fait ca en général:
select top 1 * from titre order by id desc
Lord II
PIB2000
Posté le 06-04-2001 à 10:52:19
Ceci ne marche pas sous mysql
Fred999
Rabat-joie
Posté le 06-04-2001 à 11:07:36
jupiler a écrit a écrit :
ca marche mais c'est pas le plus rapide
J'ai jamais dit que ça allait tracer... Et je connais pas MySQL.
Tu as une autre idée?
thegti
La constipation se soigne ...
Posté le 06-04-2001 à 11:29:07
MySQL n'est pas à la norme SQL ?
Publicité
Posté le 06-04-2001 à 11:29:07
Fred999
Rabat-joie
Posté le 06-04-2001 à 11:42:17
quand je vois des commandes comme
select top 1 * from titre...
Jamais vu ça sous Oracle ni Sybase.
Je pense que chaque moteur prend certaines libertés avec la norme SQL standard (comme dans le traitement des dates)
thegti
La constipation se soigne ...
Posté le 06-04-2001 à 12:10:12
Top est du SQL standard, il me semble, quand même
Sinon comment tu fais pour avoir les 25 premiers éléments d'une table ?
Fred999
Rabat-joie
Posté le 06-04-2001 à 12:20:48
Pas de top en T-SQL... (SQL Server)
Bin tu fais un set rowcount 25.
wouatouwouatou
Posté le 06-04-2001 à 12:36:19
il me semble que rowcount marche sous oracle... a verifier
Lord II
PIB2000
Posté le 06-04-2001 à 12:36:39
En mysql
c'est limit 25
---------------
La bave du crapaud n'empèche pas la caravane de passer .
thegti
La constipation se soigne ...
Posté le 06-04-2001 à 13:04:19
Bon
Euh excuse moi Fred mais Top marche très bien sous SQL Server De plus, le posteur veut une requête et pas du code de SGBD (TSQL,PLSQL,...), donc le rowcount faut carrément oublier
Pis MySQL n'est pas standard SQL alors
Fred999
Rabat-joie
Posté le 06-04-2001 à 13:49:55
Marrant, alors c'est T-SQL qui le refuse... Bon, on ne va pas jouer les intégristes du SQL... Et je ne connais pas le code propriétaire MySQL pour ce truc.
Lord II
PIB2000
Posté le 06-04-2001 à 13:58:21
thegti a écrit a écrit :
Bon
Euh excuse moi Fred mais Top marche très bien sous SQL Server De plus, le posteur veut une requête et pas du code de SGBD (TSQL,PLSQL,...), donc le rowcount faut carrément oublier
Pis MySQL n'est pas standard SQL alors
Si tu regardes le code qu'il présente tu vois qu'il execute ses requetes sur une base de type mysql, donc on essaie de répondre au mieux de ses besoins !!
---------------
La bave du crapaud n'empèche pas la caravane de passer .
Fred999
Rabat-joie
Posté le 06-04-2001 à 14:16:34
Euh... Tu t'adresses à qui là?
Lord II
PIB2000
Posté le 06-04-2001 à 14:23:43
Fred999 a écrit a écrit :
Euh... Tu t'adresses à qui là?
A thegti
---------------
La bave du crapaud n'empèche pas la caravane de passer .
joce
Architecte / Développeur principal "BugHunter"