Avant dernier [Résolu]

Signaler
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
-
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013
-
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

8 réponses

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

j ai fait un test chez moi ça fonctionne ...
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

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
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
SELECT *
FROM mytable
ORDER BY myprimarykey DESC LIMIT 2,2
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

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
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

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
Messages postés
128
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
6 mai 2011
2
Bonjour essai ca :

SELECT * FROM articles ORDER BY id_article DESC LIMIT 2,1
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

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
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

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