Avant dernier [Résolu]

Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
- - Dernière réponse : VestaX
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
- 3 nov. 2010 à 09:52
Salut à tous,

voilà, je galère sur une petite requête. Je voudrais afficher l'avant dernier enregistrement d'une table.
J'ai essayé avec le limit 2, mais ca ne m'affiche que les 2 derniers et non pas "QUE" l'avant dernier.

Voici ma requête.

<?php
mysql_select_db($bdd);
$req_avant_dernier = "SELECT * FROM articles LIMIT 1,3";
$req_avant_dernier_exec = mysql_query($req_avant_dernier);
$avant_dernier = mysql_fetch_assoc($req_avant_dernier_exec);
?>


Si quelqu'un pouvait m'aider svp, c'est assez urgent.

Merci d'avance.


VestaX
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8
3
Merci
$sql='select * from '.$table.' ORDER BY id DESC LIMIT 1,1';

j ai fait un test chez moi ça fonctionne ...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 223 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cod57
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
3
Merci
Je crois que j'ai répondu à ma réponse tout seul :p

$req_suite_article = "select * from articles ORDER BY id_article DESC LIMIT 3,10 ";


Merci pour votre aide !!

Pour la réponse, je me l'accepte tout seul :p


VestaX

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 223 internautes nous ont dit merci ce mois-ci

Commenter la réponse de VestaX
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8
0
Merci
SELECT *
FROM mytable
ORDER BY myprimarykey DESC LIMIT 2,2
Commenter la réponse de cod57
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
0
Merci
Merci, mais ca ne marche pas. Il m'affiche le dernier.

<?php
mysql_select_db($bdd);
$req_avant_dernier = "SELECT * FROM articles LIMIT 2,2";
$req_avant_dernier_exec = mysql_query($req_avant_dernier);
$avant_dernier = mysql_fetch_assoc($req_avant_dernier_exec);
?>


VestaX
Commenter la réponse de VestaX
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
0
Merci
j'avais pas vu le order by

<?php
mysql_select_db($bdd);
$req_avant_dernier = "SELECT * FROM articles ORDER BY id_article LIMIT 2,2";
$req_avant_dernier_exec = mysql_query($req_avant_dernier);
$avant_dernier = mysql_fetch_assoc($req_avant_dernier_exec);
?>


mais ca ne marche toujours pas :(


VestaX
Commenter la réponse de VestaX
Messages postés
128
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
6 mai 2011
2
0
Merci
Bonjour essai ca :

SELECT * FROM articles ORDER BY id_article DESC LIMIT 2,1
Commenter la réponse de cs_ludwig59
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
0
Merci
Merci pour vos réponses.
ludwig59: marche pas.
Mais cod57 Ça marche :)

Par contre tu peux m'expliquer à quoi correspond le 1er 1 et le 2eme 1 de 1,1 stp??

Car là il va falloir que je fasse apparaitre maintenant l'avant avant dernier.
Donc si j'ai bien compris, c'est la même requête sauf que c'est 2,1 ?



VestaX
Commenter la réponse de VestaX
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
0
Merci
J'ai réussi aussi avec l'avant avant dernier:


<?php
mysql_select_db($bdd);
$req_avant_avant_dernier = "select * from articles ORDER BY id_article DESC LIMIT 2,1 ";
$req_avant_avant_dernier_exec = mysql_query($req_avant_avant_dernier);
$avant_avant_dernier = mysql_fetch_assoc($req_avant_avant_dernier_exec);
?>


Ca marche super bien :p merci :)))


Par contre ma dernière étape:

comment faire pour faire apparaitre les 10 derniers enregistrements d'une base de donnée sans récupérer les 3 derniers.

Exemple:

enregistrement No 1
enregistrement No 2
enregistrement No 3
enregistrement No 4
enregistrement No 5
enregistrement No 6
enregistrement No 7
enregistrement No 8 <--- avant avant dernier rentré, mais je ne le veut pas
enregistrement No 9 <--- avant dernier rentré, mais je ne le veut pas
enregistrement No 10 <--- dernier rentré, mais je ne le veut pas

<?php
mysql_select_db($bdd);
$req = "SELECT * FROM articles ORDER BY id_articles DESC LIMIT ???????";
$req_exec = mysql_query($req);
?>


<?php  while ($resultat = mysql_fetch_assoc($req_exec) { ?>

<?php echo $resultat['titre'] . '
' ;?>

<?php } ?>


Ca c'est une autre histoire.

Merci

VestaX
Commenter la réponse de VestaX