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
|
<?php
require_once("connexionMysql.inc.php");
/* Paramètres modifiables */
$stringQueryCount = "SELECT COUNT(*) FROM produits;"; // A adapter à votre table (on peut ajouter une close WHERE)
if(isset($_GET['type_produit']))
$stringQueryToShow="SELECT p.photo, p.nom_produit, p.description, p.prix, p.date, t.type FROM produits as p, type_produit as t WHERE p.type_produit=t.id and type_produit=".$_GET['type_produit'] ;
else
$stringQueryToShow="SELECT p.photo, p.nom_produit, p.description, p.prix, p.date, t.type FROM produits as p, type_produit as t WHERE p.type_produit=t.id";
$nbLines = 2; // Nombre de ligne par page
$nbColumns = 4; // Nombre de colone par page
/* Récupération du nombre de rows */
$query_getCountMembers = mysql_query($stringQueryCount);
$query_getCountMembers = mysql_fetch_array($query_getCountMembers);
$query_getCountMembers = $query_getCountMembers['COUNT(*)'];
/* Récupération des rows dans la table */
$query_getMembers = mysql_query($stringQueryToShow);
/* Calcul du nombre de page à afficher*/
$nbItemByPage = $nbLines*$nbColumns;
// On calcul le reste de la division par le nombre d'entrée dans la table et le nombre d'élément qu'on veut afficher par page
$numberOfPages = $query_getCountMembers % $nbItemByPage;
if($numberOfPages>0)
// Si notre reste est supérieur à 0
{
// On calcul le nombre à ajouter pour avoir un multiple du nombre d'élément par page
$numberOfPages = $nbItemByPage - $numberOfPages;
}
// On termine :(le nombre d'entré + le nombre à ajouter pour avoir notre multiple) / le nombre d'élement par page
$numberOfPages = ($query_getCountMembers + $numberOfPages)/$nbItemByPage;
//---requete du menu de selection type produits---//
$requete2="SELECT id,type FROM type_produit ";
$resultat2=mysql_query($requete2);
?>
<?php
/* Creation des tableaux */
$partNumber = 1; // On initialise cette variable pour nommer les div : Part1, Part2, etc.
for($min = 0; $min < $query_getCountMembers; $min = $min+$nbItemByPage)
{
// On commence par créer une div contenant un tableau. Chaque fois qu'on reviendra dans la boucle
// une nouvelle div et un nouveau tableau seront créés. Notre fonction javascript modifiera la propriété
// CSS Display pour afficher ou non le tableau choisi
// Vous pouvez modifier la WIDTH dans <table width="100%"> par une autre valeur de votre choix
echo '
<div id="Part'. $partNumber .'" style="display:none;">
<table width="100%">
';
// On incrémente la variable $partNumber pour afficher un nouveau numéro lorsqu'on repasse dans la première boucle for
$partNumber++;
for($a=$min; $a<($min+$nbItemByPage); $a++)
// La seconde boucle for permet de gérer la création de nos lignes en fonction du paramètre $nbLines
{
echo '<tr>';
for($b=1; $b<=$nbColumns; $b++)
// La troisième boucle for permet de gérer la création de nos colones en fonction du paramètre $nbColumns
{
if($a >= $query_getCountMembers)
// Si on a dépassé le nombre d'élément contenu dans la table ouvre et ferme nos balises <td> pour uniformiser le tableau
// Ce qui arrivera si $query_getCountMembers n'est pas un multiple de $nbItemByPage
// N.B. : Des lignes entières vides ne prennent pas d'espace sur la page web.
{
echo '<td></td>';
}
else
{
echo '
<td>';
/* Affichage personnalisé de vos données récupérées*/
// Dans cette partie vous choisissez comment va être affiché les éléments dans le tableau.
// La condition principale pour afficher correctement vos éléments est d'utiliser la syntaxe suivante :
// --> mysql_result($query_getMembers, $a, 'nom_de_votre_colone')
// !!! NE MODIFIEZ RIEN D'AUTRE QUE LE PARAMETRE 'nom_de_votre_colone' !!!
///Exemple :
echo '<p>';
echo mysql_result($query_getMembers, $a, 'nom_produit');
echo '</p>';
echo '<img src="images/';
echo mysql_result($query_getMembers, $a, 'photo');
echo '" alt="" width="120" height="90" align="center" id="2" />';
echo '<p>';
echo mysql_result($query_getMembers, $a, 'description');
echo '</p>';
echo '<p>';
echo mysql_result($query_getMembers, $a, 'prix');
echo '</p>';
echo'
</td>
';
if($b < $nbColumns)
// On incrémente manuellement $a car si $b est inférieur aux nombre de colone à afficher dans le tableau
// $a ne repasse pas la seconde boucle for
{
$a++;
}
}
} // On ferme la troisième boucle for
echo '</tr>'; // On ferme la balise <tr> pour revenir à la ligne
} // On ferme la seconde boucle for
// On ferme notre tableau ainsi que la div associé
echo '
</table>
</div>';
}// On ferme la première boucle for
if($numberOfPages>1)
{
echo 'Pages'; // Affiche le mot page
for($a=1 ; $a<=$numberOfPages; $a++)
/* On affiche tout les liens et on applelle notre fonction javascript sur chaque lien */
{
echo '
<a id="anchor'.$a.'" href="#'.$a.'" onClick="onPartChanged('.$a.','.$numberOfPages.')"/>'.$a.'</a>
';
if ($a<$numberOfPages) echo ' - ';
}
echo '<br />'; // L'indispensable saut de ligne
}
?>
</body>
</html> |
Partager