la deuxième page de mon affichage page par page est vide

Répondre
fran6
le 23/02/2010 à 14:58
fran6
Bonjour,
J'ai un niveau moyen en php. J'essaie de faire un petit dictionnaire sous php. Lorsque je tape la lettre "a" ou "b" ou "c" dans le formulaire, le script affiche par douze tous les mots commençant par un "a" ou "b" ou "c" dans le dictionnaire avec une barre de navigation en bas.

Tout marche très bien pour la première page mais la deuxième page et la suite reste vide. Est-ce que quelqu'un peut me dire pourquoi ???

Merci de votre réponse.

Le code se trouve ici:
http://www.lephpfacile.com/wall/wall-1853.php
LA GLOBULE
le 23/02/2010 à 17:59
LA GLOBULE
Ce qui serait intéressant, ca serait de voir quelle requête tu exécutes en page 2.

Fais donc un echo de $sql, normalement tu devrais comprendre le soucis je pense.
fran6
le 24/02/2010 à 07:20
fran6
Merci, je vais essayer et je vous dirai le résultat obtenu
Keika
le 24/02/2010 à 13:22
Keika
hmm il y a une partie de ton code que je ne comprends pas:

<?php
// on prépare notre requête avec le LIMIT

$sql = 'SELECT entrefrmlg, catfrmlg, deffrmlg, etyfrmlg, sensfrmlg, figefrmlg, voirfrmlg FROM dicofrmlg WHERE entrefrmlg



LIKE "'.$_POST['entree'].'%" ORDER BY entrefrmlg ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;



// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)

$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());


// on va scanner tous les tuples un par un

while ($data = mysql_fetch_array($req)) {


// on affiche les résultats

echo '<table class="dictionnaire" border="1"><tr><td width="130">';

echo htmlentities(trim($data['entree']));

echo ' ',htmlentities(trim($data['categorie'])),'</td>';

echo '<td width="270">',htmlentities(trim($data['definition']));

echo ' ',htmlentities(trim($data['etymologie']));

echo ' ',htmlentities(trim($data['sens']));

echo ' ',htmlentities(trim($data['figee']));

echo ' ',htmlentities(trim($data['voir']));

echo '</td></tr></table><br />';

?>


tous les $data['...'] dans le while ne correspondent pas aux entrees dans la table que tu demandes.

ex: ta requete a: catfrmlg, et tu demandes $data['categorie']... chez moi ca serait plutot $data['catfrmlg'], non ?
Le PHP --> C'est dur !
fran6
le 24/02/2010 à 14:49
fran6
C'est vrai Keika, j'ai déjà corrigé le code qui est visible sur ce wall : http://www.lephpfacile.com/wall/wall-1855.php.

Je vais essayer ce que La Globule m'a conseillé et je verrai le résultat. En attendant, si quelqu'un peut encore m'aider, je suis toujours là et j'attends la réponse.
LA GLOBULE
le 24/02/2010 à 15:04
LA GLOBULE
T'as juste à faire un echo de $sql.
Tu verras quelles limites à ta requête SQL. A partir de la, ca sera énormément plus facile pour débuguer.

La, à part avoir des dons de voyants, tu n'arriveras pas à grand chose.

Pour débuguer, le plus simple c'est de faire des echo. Ca te permet de voir ce que fait ton code au lieu de le dérouler dans ton cerveau.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours