Avant dernier

Résolu
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013 - 2 nov. 2010 à 17:02
VestaX Messages postés 374 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

8 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
2 nov. 2010 à 20:00
$sql='select * from '.$table.' ORDER BY id DESC LIMIT 1,1';

j ai fait un test chez moi ça fonctionne ...
3
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
3 nov. 2010 à 09:52
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
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
2 nov. 2010 à 17:13
SELECT *
FROM mytable
ORDER BY myprimarykey DESC LIMIT 2,2
0
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
2 nov. 2010 à 17:20
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
2 nov. 2010 à 17:22
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
0
cs_ludwig59 Messages postés 128 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 6 mai 2011 2
2 nov. 2010 à 17:36
Bonjour essai ca :

SELECT * FROM articles ORDER BY id_article DESC LIMIT 2,1
0
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
3 nov. 2010 à 09:12
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
0
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
3 nov. 2010 à 09:34
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
0
Rejoignez-nous