Sinon je vais essayer de faire simple en vous exposant clairement le problème auquel je suis confronté
.
A partir du menu déroulant (index.php) dont voici le code ci-joint, je choisie mon département :
1 2 3 4 5 6 7 8 9 10 11
|
<td valign=top><form action="souscat.php" method="post" target="main">
<p><strong>Pays:</strong>
<select name="sid">
<?
while ($row = mysql_fetch_row($query)) {
echo "<option name=\"sid\" value=\"$row[0]\">$row[2]</option>";
}
?>
</select>
<input type=Submit value=Ok> |
Après avoir choisie mon département, j'aimerais classer page par page les résultats de ma table membres en fonction du département sélectionner (exemple : 5 résultats par page)
Pour se faire j'utilise ce 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
|
<?php
//=========================================
// includes du fichier fonctions
//=========================================
require 'fonctions.php';
//=========================================
// information pour la connection à le DB
//=========================================
include("configuration.php");
//=========================================
// initialisation des variables
//=========================================
// on va afficher 5 résultats par page.
$nombre = 5;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["basename"];
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT count(*) FROM mbmembres';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$select = 'select id, nom FROM mbmembres ORDER BY nom ASC limit '.$limite.','.$nombre;
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
// début du tableau
echo '<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>texte court</u></b></td>';
echo '<td bgcolor="#669999"><b><u>texte court</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['id'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
?> |
tel qu'il est présenté et appelé seul, ce code me présente les résultats de la table membres classé par nom page par page.
Or j'aimerais à partir du menu déroulant de ma page index.php sélectionner mon département et afficher les résultats par département et là ça coince. En effet et pour se faire ma requête
$select = 'select id, nom FROM sbbproduit ORDER BY nom ASC limit '.$limite.','.$nombre;
devrait me semble-t-il être compléter par
$select = 'select id, nom FROM sbbproduit WHERE sid="$sid" ORDER BY nom ASC limit '.$limite.','.$nombre;
sauf qu'à ce moment rien ne s'affiche ... Donc visiblement jai dû me planter...
Donc de index.php (menu déroulant département) >> souscat.php >> avec classement des membres par département.
Merci d'avance de votre disponibilité
Partager