Vous avez dû mettre recherche et tout marche bien!
A quoi le problème là peut être dû à mon niveau?
Vous avez dû mettre recherche et tout marche bien!
A quoi le problème là peut être dû à mon niveau?
L'erreur ne s'affiche plus effectivement.
Mais actuellement quand je clique sur un nombre de page ou sur page suivante il me dit que "pas d'enregistrement dans la table".
Ce message est le else de mon if($total).
Il m'affiche ce message en lieu et place de la page suivante.
Merci de m'aider!
si tu as laissé 'blablabla' c'est un peu normal
blablabla existe toujours.
C'est le code que je vous ai envoyé.
Merci de m'aider!
Je te rappelle que c'est toi qui a écrit 'blablabla' ce n'est pas ce qu'il y avait dans le code que je t'ai fourni depuis le début.
En fait le code que vous avez donné au debut ne contient pas blablabla mais quand j'execute ce code c'est la meme erreur c'est à dire au clic de la page suivante ou nombre de page il affiche le message du else de if($total)= page d'enregistrement dans cette table.
Mais en plus il affiche ceci
Notice: Undefined variable: recherche in D:\Program Files\EasyPHP 2.0b1\www\monsites\fonction_test_page_page.php on line 71
La ligne 71 correspond à la ligne :
Merci de m'aider!
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo '<a href="'.$page.'?recherche='.$recherche.'&limite='.$limiteSuivante.'">Page Suivante</a>';
$recherche n'existe pas dans la fonction displayNextPreviousButtons()
Bonjour,
J'ai ajouté &recherche= blablabla à la fonction mais c'est le meme problème
Je ne comprends pas pourquoi tu mets "blablabla"
Voici le code de la fonction en question comme vous l'avez proposé au debut.
Qu'est ce que je dois ajouter?
Je rappelle que le passage à la page suivante n'affiche pas de resultat
Merci bien de m'aider!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function displayNextPreviousButtons($limite,$total,$nb,$page) { $limiteSuivante = $limite + $nb; $limitePrecedente = $limite - $nb; if($limite != 0) { echo '<a href="'.$page.'?recherche='.$recherche.'&limite='.$limitePrecedente.'">Page précédente</a>'; } if($limiteSuivante < $total) { echo '<a href="'.$page.'?recherche='.$recherche.'&limite='.$limiteSuivante.'">Page Suivante</a>'; } }
Ne t'embarrasse pas avec une fonction, elle n'est pas justifiée ici.
je vois que au clic sur page suivante ou nombre de page la variable $recherche n'a pas de valeur; ce qui fait que il n'ya pas de resultat.
Je ne sais pas comment resoudre ce problème franchement.
Merci bien de me proposer la soulton.
Je te l'ai déjà dit, ton code fonctionne
- abandonne l'utilisation de fonctions pour ta pagination, ca n'apporte rien.
- si tu n'as pas de résultat, vérifie ta requête dans phpmyadmin
Voici donc mon code sans fonction.
quand je clique sur suivant rien ne s'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 <?php $cnx = mysql_connect( "localhost", "root", "" ); //sélection de la base de données: $db= mysql_select_db( "monsites" ); //$debut=0; $nombre = 3; // on va afficher 3 résultats par page. $recherche = $_REQUEST["recherche"]; if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois // on met limite à 0. $path_parts = pathinfo($_SERVER['PHP_SELF']); $page = $path_parts['basename']; $select = "SELECT count(numero) FROM texte where MATCH (contenu) AGAINST('".mysql_real_escape_string($recherche)."')"; $result = mysql_query($select,$cnx) or die ('Erreur : '.mysql_error() ); $row = mysql_fetch_row($result); $total = $row[0]; $select = "SELECT * FROM texte where MATCH (contenu) AGAINST('".mysql_real_escape_string($recherche)."') limit ".$limite.",".$nombre; //$select = 'select nom,prenom FROM personne ORDER BY nom ASC limit '.$limite.','.$nombre; $result = mysql_query($select,$cnx) or die ('Erreur : '.mysql_error() ); echo'<table>'; while($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td bgcolor="#CCCCCC">'.$row['intitule'].'</td>'; echo '</tr>'."\n"; } echo'</table>'; $limiteSuivante = $limite + $nombre; $limitePrecedente = $limite - $nombre; if($limite != 0) { echo '<a href="'.$page.'?recherche='.$recherche.'&limite='.$limitePrecedente.'">Page précédente</a>'; } if($limiteSuivante < $total) { echo '<a href="'.$page.'?recherche='.$recherche.'&limite='.$limiteSuivante.'">Page Suivante</a>'; } ?>
si tu n'as pas de résultat, vérifie ta requête dans phpmyadmin
Quand j'execute sur phpmyadmin tous les resultats s'affichent.
j'avais inserré 6 enregistrement contenant la même chaine de recherche que je rentre pour tester ma fonction. Et je veux afficher 3 par page.
Quand je lance mon script 3 resultats s'affichent et si je clique sur suivant rien ne s'affichent.
Mais quand j'ai executé sur PHPMYADMIN tous les 6 resultats sont affichés.
merci de m'aider!
Bonjour;
Comment je peux donc definir $limite?
Merci bien!
De la même façon que $limite.
Etant donné que tu traites déjà le cas ou $limite n'est pas défini, tu as juste a ajouter le cas "else".
Problème de pagination resolu!
J'ai effectivement introduit $limite comme vous l'avez dit.
Je vous remercie beaucoup Sabotage pour l'aide, la patience dontvous avez fait preuve pour repondre à mes multiples questions.
je remercie l'ensemble du forum.
Merci à vous!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager