Bonjour à tous.
Je me retrouve confronté à un problème d'affichage des numéros de page dans le code PHP/HTMl que j'ai créé.
Il doit y avoir une subtilité qui m'échappe, mais je ne comprends pas pourquoi pour le moment.
Ma volonté est d'afficher les numéros de page dans du code HTML (ou PHP, mais j'ai créé un fichier html. Je ne pense pas que ce soit la cause du problème).
la page web, au travers d'un include PHP doit récupérer ce code pour l'afficher.
Cela me permettrait, si j'ajoute des pages, de ne les ajouter que dans le fichier html et non pas dans toutes les pages php précédentes, car cela serait actualisé automatiquement grâce à l'include PHP.
L'affichage des pages a été créé dans un tableau (aux lignes invisibles).
Voici donc ci-dessous le code de mes fichiers.
Fichier qui contient la page web, avec, à la fin l'affichage des pages :
Code HTML : 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 <div id="contenu_central"> <h2>Accueil</h2> <h3>Page Test de pages multiples en pied de page</h3> <br /> <br /> <br /> <?php // J'inclus la page de fonctions pour pouvoir ensuite utiliser la fonction contenant le code de la ligne horizontale include ($_SERVER['DOCUMENT_ROOT'].'/pages/Fonctions.php'); // J'execute la fonction qui contient le code de mise en place de ligne horizontale F_LigneHorizontale(); ?> <!-- Affichage pages disponibles --> <?php $nombrepages=F_NombrePages('Accueil'); $numeropages=include ($_SERVER['DOCUMENT_ROOT'].'/pages/tests/NumerosPagesEnPiedDePage/PagesDeTest_Accueil.html'); F_PagesDisponibles ( /*ci-dessous la gauche*/ ' <a href="Accueil_page2.php"> Page précédente </a> ', /*ci-dessous le centre*/ $numeropages /* Pages <br /> <a href="/Accueil.php">1</a> <a href="Accueil_page2.php">2</a> */ /*fin du centre*/, /*ci-dessous la droite */ "Page 3/".$nombrepages, /*fin de la droite*/ ) ?> <!-- Commenté ci-dessous, mais le tableau permettant l'alignement est codé de la manière suivante : <TABLE BORDER="0" WIDTH=100%> <TR> <TD ALIGN = left WIDTH = 25%> <a href="Accueil_page2.php"> Page précédente </a> </TD> <TD WIDTH = 50%> <center> Pages <br /> <a href="/Accueil.php">1</a> <a href="Accueil_page2.php">2</a> </center> </TD> <TD ALIGN = right WIDTH = 25%> Page 3/3 </TD> </TR> </TABLE> <br /> --> </div><!-- #contenu_central -->
Page Fonctions
Code PHP : 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 <?php function F_LigneHorizontale() { // 1) Simple création d'un tableau vide pour créer une ligne continue de séparation entre le corps du texte et la zone d'information des pages. // Avec "border-bottom", on affiche que la ligne du bas du tableau. echo '<table border="0" width=100% style="border-bottom: 1px solid black;">'; echo '<tr>'; echo '</tr>'; echo '</table>'; echo '<br />'; } function F_NombrePages($section) { //Selon le sous-dossier choisi, le nombre de pages maximales diffère. A actualiser quand on rajoute des pages dans une section. if ($section =='Accueil') { $nombrepages=3; } if ($section =='Loisirs') { $nombrepages=4; } return $nombrepages; } function F_PagesDisponibles($gauche, $centre, $droite) { // Affichage pages disponibles //echo "Nous sommes bien rentres dans la fonction F_PagesDisponibles"; echo '<TABLE BORDER="0" WIDTH=100%>'; echo '<TR>'; echo ' <TD ALIGN = left WIDTH = 25%>'; //texte affiché à gauche echo ''.$gauche; echo ' </TD>'; echo ' <TD WIDTH = 50%>'; echo ' <center>'; //texte affiché au centre echo ''.$centre; echo ' </center>'; echo ' </TD>'; echo ' <TD ALIGN = right WIDTH = 25%>'; //texte affiché à droite echo ''.$droite; echo ' </TD>'; echo '</TR>'; echo '</TABLE>'; // FIN Affichage pages disponibles echo '<br />'; } ?>
Page html contenant les pages
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Pages <br /> <a href="/Accueil.php">1</a> <a href="Accueil_page2.php">2</a>
Comme un exemple peut être plus explicite, une fois le code ci-dessus mis en place
j'obtiens l'affichage de page correspondant à l'image suivante (j'ai mis en rouge ce qui ne convient pas) :
A l'inverse, si j’enlève le include avec la fonction suivante, je n'ai plus le problème, mais je devrais rajouter sur toutes les anciennes pages les nouvelles pages que je crée (ce qui peut vite être problématique si j'arrive à plusieurs centaines de pages au fur et à mesure du temps).
Code sans le include :
Et en enlevant le include, cela me donne ce que je voudrais avoir avec l'include, c'est à dire l'image suivante :
Code PHP : 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 F_PagesDisponibles ( /*ci-dessous la gauche*/ ' <a href="Accueil_page2.php"> Page précédente </a> ', /*ci-dessous le centre*/ ' Pages <br /> <a href="/Accueil.php">1</a> <a href="Accueil_page2.php">2</a> ' /*fin du centre*/, /*ci-dessous la droite */ "Page 3/".$nombrepages, /*fin de la droite*/ )
Je crois donc qu'une subtilité du php doit m'échapper.
En vous remerciant par avance si vous avez une idée du problème et comment le corriger.
Partager