Bonjour à tous, voilà pour un site d'entreprise j'ai une base de donnée composée d'un centaine de noms de clients.

J'ai une page php contenant un formulaire <SELECT> afin d'afficher sur ma page l'ordre dans lequel sera affiché les résultats sous forme de tableau selon le choix fait par l'utilisateur.

Par exemple dans mon <SELECT> on peut trier par id, nom, ville, code postal et date de relance.

Pour l'instant j'y arrive, selon le choix de l'utilisateur j'affiche bien les données de ma BD sous forme de tableau, le problème c'est qu'il est HAUT ! normal puisque j'ai plus de 100 clients.

Donc j'ai mis en place la pagination qui va couper mon tableau en tranche de 20.

Mais voilà je n'arrive pas à faire cohabiter mon formulaire et ma pagination.

Selon moi je dois juste changer la requête SQL selon le choix du <SELECT> mais rien n'y fait, lorsque je clique sur la page 2 ma requête n'est plus d'actualité.

Donc je fais appel à vous, car j'ai essayé moult systèmes différents sans succès.

Je vous laisse mon codage, sachant que le formulaire y est obsolète pour l'instant.

Un pépito à celui qui trouve la solution

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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<?php
// On démarre la session 
session_start ();  
// On récupère nos variables de session  
if (isset($_SESSION['utilisateur_db']) && isset($_SESSION['motdepasse_db'])
		&& isset($_SESSION['host_db'])&& isset($_SESSION['nom_db'])) 
{ 
      echo '<html>'; 
      echo '<head>'; 
			echo '<TITLE>Bienvenue sur le site avotservice-nord.fr</TITLE>'; 
			echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >'; 
			echo '<meta name="author" content="Cédric PELICIER">'; 
  			echo '<LINK rel="stylesheet" type="text/css" href="style/cours_html_css.css">'; 
  			echo '<LINK rel="stylesheet" type="text/css" href="style/sommaire_vertical.css">'; 
  		echo '</head>'; 
 
      echo '<body>';
 
	echo '<div id="bandeau">';
		echo '<h1><a href="http://www.avotservice-nord.fr/"><img src="images/logo_n.png" width="1200" height="200" alt="avotservice" border=no></a><br>';
		echo '<a href="http://www.avotservice-nord.fr/">Prestations de services &agrave; la personne (aide &agrave; domicile) - R&eacute;gion - M&eacute;tropole de Lille - Armenti&egrave;res - ';
		echo '<script type="text/javascript"> ';
		echo '			d = new Date(); ';
		echo '			 document.write(d.toLocaleDateString()); </script></a></h1><br><br>';
	echo '</div>';
 
 
	echo'<div id="menu">';
	echo'<ul class="sommaire_vertical">';
			echo'<LI><A href="sommaire.php">Rechercher</A></LI>';
			echo'<LI><A href="ajouter_compte.php">Ajouter/Modifier/Supprimer Compte</A></LI>';
			echo'<LI><A href="table_prospects_clients.php">Classer par Client/Prospect</A></LI>';
			echo'<LI><A href="inscription_prospects.php">Appels & Devis</A></LI>';
			echo'<LI><A href="analyse_donnees.php">Analyse des donn&eacute;es</A></LI>';
			echo'<LI><A href="logout.php">Deconnexion</A></LI>';
		echo'</ul>';
	echo'</div>';
 
	echo'<div id="contenu">';
 
	// connection à la DB
$link = mysql_connect("80.248.217.58","avots103889","travail1")or die ('Erreur :'.mysql_error());
mysql_select_db("avots103889") or die ('Erreur :'.mysql_error());
 
 
 
echo'<form id="monForm" method="POST" action="">';
    echo'<fieldset>';
        echo'<legend>Classer par... </legend>';
		echo'<p>';
			echo'<label for="form_tri">Trier par : </label>';
			echo'<select for="form_tri" name="tri">';
					echo'<OPTION value="identifiant">Identifiant</OPTION>';
					echo'<OPTION value="nom">Nom</OPTION>';
					echo'<OPTION value="cp">Code postal</OPTION>';
					echo'<OPTION value="ville">Ville</OPTION>';
					echo'<OPTION value="relancer_le">A relancer le</OPTION>';
			echo'</select>';
	    echo'</p>'; 
    echo'</fieldset>';
    echo'<p>';
        echo'<input type=submit value=Classer name="search">';
    echo'</p>';
echo'</form>';
 
$tri = $_POST['tri'];
 
			/* Numero de page (1 par défaut) */
			if( isset($_GET['page']) && is_numeric($_GET['page']) )
			  $page = $_GET['page'];
			else
			  $page = 1;
 
			/* Nombre d'info par page */
			$pagination = 15;
			/* Numéro du 1er enregistrement à lire */
			$limit_start = ($page - 1) * $pagination;
 
			/* Préparation de la requête */
			$sql = "SELECT * FROM clients_tbl ORDER BY id LIMIT $limit_start, $pagination ";
 
			/* Requête SQL */
			$resultat = mysql_query($sql);	
 
// si on a récupéré un résultat on l'affiche.
if($resultat) {
    // debut du tableau
	echo '<font color="#000000">';
    echo '<table BORDER="1" bgcolor="#FFFFFF" STYLE="color:#000000" class="noir">'."\n";
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
        echo '<tr>';
		echo '<td bgcolor="#669999"><b><u>Id</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Pr&eacute;nom</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Rue</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Code Postal</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>Ville</u></b></td>' ;
		echo '<td bgcolor="#669999"><b><u>T&eacute;l. fixe</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>T&eacute;l. portable</u></b></td>';
    echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while($row = mysql_fetch_assoc($resultat)) {
        echo '<tr>';
		echo '<td bgcolor="#DDDDDD">'.$row["id"].'</td>';
		echo '<td bgcolor="#DDDDDD">'.$row["nom"].'</td>';
        echo '<td bgcolor="#DDDDDD">'.$row["prenom"].'</td>';
		echo '<td bgcolor="#DDDDDD">'.$row["rue"].'</td>';
		echo '<td bgcolor="#DDDDDD">'.$row["cp"].'</td>';
		echo '<td bgcolor="#DDDDDD">'.$row["ville"].'</td>';
		echo '<td bgcolor="#DDDDDD">'.$row["fixe"].'</td>';
		echo '<td bgcolor="#DDDDDD">'.$row["port"].'</td>';
      echo '</tr>'."\n";
    }
    echo '</table>'."\n";
	echo '</font><br>';
    // fin du tableau.
}
		/* Nb d'enregistrement total */
		$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM clients_tbl');
		$nb_total = mysql_fetch_assoc($nb_total);
		$nb_total = $nb_total['nb_total'];		
 
		/* Pagination */
		$nb_pages = ceil($nb_total / $pagination);
 
		echo '<p>[ Page :';
		/* Boucle sur les pages */
		for ($i = 1 ; $i <= $nb_pages ; $i++) {
		  if ($i == $page )
			echo " $i";
		  else
			echo " <a href=\"?page=$i\">$i</a> ";
		}
		echo ' ]</p>';
 
		if ($page > 1)
		echo " <a href=\"?page=".($page-1)."\">Pr&eacute;c&eacute;dent</a> ";
		else
		echo "Pr&eacute;c&eacute;dent";
 
		if ($page < $nb_pages)
		echo " <a href=\"?page=".($page+1)."\">Suivant</a> ";
		else
		echo "Suivant";
 
 
	echo'</div>';
 
	echo '</body>'; 
   echo '</html>'; 
}
else
{ 
		header ('location: connexion.html'); /*
		echo 'Les variables ne sont pas déclarées.';  */
} 
?>