Page 1 sur 1

Afficher le résultat d'une requête sur plusieurs pages

Posté : 17 mars 2010, 19:26
par Benamour Jr
Bonjour,

je suis en train de programmer un mini-chat et j'aurais aimé pouvoir afficher 10 résultats (messages) par page. J'ai une petite idée de comment y parvenir mais pour ca je dois pouvoir placer une variable dans la LIMIT de la requête SQL. Cependant je n'y arrive pas...

Voici ma question :

Comment se fait-il que ce code fonctionne pour mon script :
$req = $bdd->query('SELECT * FROM mini_chat ORDER BY id DESC LIMIT 0, 10');
Mais que celui-ci ne m'affiche rien du tout :
$limit = 0;
$req = $bdd->prepare('SELECT * FROM mini_chat ORDER BY id DESC LIMIT ?, 10');
$req->execute(array($limit));
Or ca revient au même... O.o

Re: Afficher le résultat d'une requête sur plusieurs pages

Posté : 17 mars 2010, 21:45
par Truc
Lien de la FAQ

Re: Afficher le résultat d'une requête sur plusieurs pages

Posté : 17 mars 2010, 21:53
par Benamour Jr
La FAQ conseille de mettre la variable directement dans la requete sql...

Code : Tout sélectionner

$sql_n = "SELECT nouv_titre, nouv_texte, nouv_date FROM nouvelles LIMIT ". $debut .", ". $nb_nouv_par_page .";";
Je connais cette méthode, elle fonctionne en effet dans mon cas, mais c'est dangereux, n'importe qui pourra faire une injonction SQL sur mon site...

Re: Afficher le résultat d'une requête sur plusieurs pages

Posté : 17 mars 2010, 22:01
par Truc
"Injection SQL"
C'est le seul moyen... en échappant correctement les valeurs reçues par GET pas compliqué :)

Re: Afficher le résultat d'une requête sur plusieurs pages

Posté : 17 mars 2010, 22:05
par Benamour Jr
Oki je vais procéder de la sorte dans ce cas, mais je comprends quand meme pas pourquoi le marqueur ? ne peut pas être utilisé pour le LIMIT
Anyway, merci :)

Re: Afficher le résultat d'une requête sur plusieurs pages

Posté : 17 mars 2010, 23:08
par Truc
le "?" pour limit connais pas moi :-k