PHP + MySQL + Tableau + Formulaire
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 :ccool:
Code:
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 à la personne (aide à domicile) - Région - Métropole de Lille - Armentiè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é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é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él. fixe</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Té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écédent</a> ";
else
echo "Précé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.'; */
}
?> |