Bonjour,
lorsque que je fais se teste
j'affiche bien la premiere partie mais quand je clique sur le lien d'une autre page plus rien ne s'affiche. Si j'enleve se teste sa fonctionne correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if($choix=='presentes' && $base_de_donnee=='table ARP' && $sous_reseau=='tous')
mon code complet affiche.php:
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128 function barre_navigation ($nb_total,$nb_affichage_par_page,$debut, $nb_liens_dans_la_barre) { $barre = ''; // on recherche l'URL courante munie de ses paramtre auxquels on ajoute le paramtre 'debut' qui jouera le role du premier lment de notre LIMIT if ($_SERVER['QUERY_STRING'] == "") { $query = $_SERVER['PHP_SELF'].'?debut='; } else { $tableau = explode ("debut=", $_SERVER['QUERY_STRING']); $nb_element = count ($tableau); if ($nb_element == 1) { $query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut='; } else { if ($tableau[0] == "") { $query = $_SERVER['PHP_SELF'].'?debut='; } else { $query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut='; } } } // on calcul le numero de la page active $page_active = floor(($debut/$nb_affichage_par_page)+1); // on calcul le nombre de pages total que va prendre notre affichage $nb_pages_total = ceil($nb_total/$nb_affichage_par_page); // on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin) // exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11 if ($nb_liens_dans_la_barre%2==0) { $cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1; $cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2); } else { $cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2)); $cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2)); } if ($cpt_deb1 <= 1) { $cpt_deb = 1; $cpt_fin = $nb_liens_dans_la_barre; } elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) { $cpt_deb = $cpt_deb1; $cpt_fin = $cpt_fin1; } else { $cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1; $cpt_fin = $nb_pages_total; } if ($nb_pages_total <= $nb_liens_dans_la_barre) { $cpt_deb=1; $cpt_fin=$nb_pages_total; } // si le premier numro qui s'affiche est diffrent de 1, on affiche << qui sera un lien vers la premiere page if ($cpt_deb != 1) { $cible = $query.(0); $lien = '<A HREF="'.$cible.'"><<</A> '; } else { $lien=''; } $barre .= $lien; // on affiche tous les liens de notre barre, tout en vrifiant de ne pas mettre de lien pour la page active for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) { if ($cpt == $page_active) { if ($cpt == $nb_pages_total) { $barre .= $cpt; } else { $barre .= $cpt.' - '; } } else { if ($cpt == $cpt_fin) { $barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page); $barre .= "'>".$cpt."</A>"; } else { $barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page); $barre .= "'>".$cpt."</A> - "; } } } $fin = ($nb_total - ($nb_total % $nb_affichage_par_page)); if (($nb_total % $nb_affichage_par_page) == 0) { $fin = $fin - $nb_affichage_par_page; } // si $cpt_fin ne vaut pas la dernire page de la barre de navigation, on affiche un >> qui sera un lien vers la dernire page de navigation if ($cpt_fin != $nb_pages_total) { $cible = $query.$fin; $lien = ' <A HREF="'.$cible.'">>></A>'; } else { $lien=''; } $barre .= $lien; return $barre; }merci de votre aide
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
57
58 //déclarations des variables utilisées lors du critère de sélection $choix = $_POST['presence']; $base_de_donnee = $_POST['base']; $site = $_POST['site']; $sous_reseau = $_POST['sous_res']; $inf_sup = $_POST['pourcentage']; $nombre = $_POST['nombre']; if($choix=='presentes' && $base_de_donnee=='table ARP' && $sous_reseau=='tous') { mysql_connect("localhost","etu","lannion"); mysql_select_db("bddetu"); //on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages $sql = 'SELECT count(*) FROM site_sous_reseau'; // on exécute cette requête $resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // on récupère le nombre d'éléments à afficher $nb_total = mysql_fetch_array($resultat); // on teste si ce nombre de vaut pas 0 if (($nb_total = $nb_total[0]) == 0) { echo 'Aucune réponse trouvée'; } else { echo '<table><tr><td>SITE<td>SOUS-RESEAU</td></tr>'; // sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0 if (!isset($_GET['debut'])) $_GET['debut'] = 0; $nb_affichage_par_page = 3; // Préparation de la requête avec le LIMIT $sql = 'SELECT site,sous_reseau FROM site_sous_reseau LIMIT '.$_GET['debut'].','.$nb_affichage_par_page; // on exécute la requête $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)) { echo '<tr><td>' , htmlentities(trim($data['site'])) , '</td>'; echo '<td>' , htmlentities(trim($data['sous_reseau'])) , '</td></tr>'; } // on libère l'espace mémoire alloué pour cette requête mysql_free_result ($req); echo '</table>'; // on affiche enfin notre barre echo '<span>'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 5).'</span>'; } // on libère l'espace mémoire alloué pour cette requête mysql_free_result ($resultat); // on ferme la connexion à la base de données. mysql_close (); } ?>
tortue
Partager