Bonjour les gens

Dans mon site, j'ai une table dans ma BDD avec un certain nombre d'entrées (une pour chaque article). Je les affiche sur différentes pages :
  • L'une s'appelle "Derniers Ajouts" et montre toutes les entrées par ordre décroissant et avec un système automatique de pages (5 articles par page)

  • Les 3 autres sont "Guitares", "Basses", et "Autres", chaque page n'affiche que les entrées dont la valeur du champ "type" est respectivement égale à "guitare", "basse" ou "autre" (toujours avec le même système de pages automatiques). Elles constituent en quelques sortes des sous-catégories.


Mon problème est que, par exemple, la catégorie "Guitares" n'affiche que 3 entrées alors qu'il en existe 5 dont le champ "type" est égal à "guitare".
J'ai ensuite remarqué que en fait la catégorie "Guitares" n'affiche que les entrées concernées (type="guitare") étant aussi présentes sur la 1ere page de la catégorie "Derniers Ajouts", et elle ignore les guitares étant présentes sur les autres pages, alors que ces deux catégories devraient être indépendantes.

Voici les liens pour que vous puissiez constater le problème :
www.rock-design.fr/derniers_ajouts.php
www.rock-design.fr/guitares.php

C'était difficile à expliquer, j'espère que j'ai été clair

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
<?php
mysql_connect("", "", "");
mysql_select_db("");        
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5;
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM instruments WHERE active=1');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
?>
 
<div class="cadre_titre"><h1>Derniers Ajouts</h1><p><?php echo 'Il y a ' . $totalDesMessages . ' instruments'; ?></p></div>
 
 
<p class="pages">
<?php
 
if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
        if ($i != $page)
        {
    echo '<a href="derniers_ajouts.php?page=' . $i . '">' . $i . '</a> ';
        }
        else
        {
        echo $i . ' ' ;
        }
}
 
?></p>
 
<?php
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM instruments ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
 
        while ($donnees = mysql_fetch_array($reponse) )
        {
                if ($donnees['active'] == 1)
                {
                $TailleImage = getimagesize ('photos/instruments/' . $donnees['image']);
                $width = ($TailleImage[0] + 16) ;
                $height = ($TailleImage[1] + 16) ;
                ?>
 
                <div><p> ICI J'AFFICHE LE CONTENU, JE VOUS ÉPARGNE LE CODE ÇA FAIT LOURD </p></div>
 
 
 
<p class="pages"><?php        }
                        }
 
//Et on remet les pages en fin de page
if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
        if ($i != $page)
        {
    echo '<a href="derniers_ajouts.php?page=' . $i . '">' . $i . '</a> ';
        }
        else
        {
        echo $i . ' ' ;
        }
}
mysql_close(); // Déconnexion de MySQL


Voici le code de "Guitares" (semblable à celui de "Basses" et "Autres", c'est lui qui n'affiche pas tout):
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
mysql_connect("", "", "");
mysql_select_db("");        
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 5;
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM instruments WHERE active=1 AND type="guitare"');
$donnees = mysql_fetch_array($retour);$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
?>  
 
                <div class="cadre_titre"><h1>Guitares</h1><p><?php echo 'Il y a ' . $totalDesMessages . ' guitares'; ?></p></div>
                <p class="pages">
 
<p class="pages"><?php
 
if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
        if ($i != $page)
        {
    echo '<a href="guitares.php?page=' . $i . '">' . $i . '</a> ';
        }
        else
        {
        echo $i . ' ' ;
        }
}
?></p>
 
<?php
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM instruments ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
 
        while ($donnees = mysql_fetch_array($reponse) )
        {
                if ($donnees['type'] == guitare)
                {
                        if ($donnees['active'] == 1)
                        {
                        $TailleImage = getimagesize ('photos/instruments/' . $donnees['image']);
                        $width = ($TailleImage[0] + 16) ;
                        $height = ($TailleImage[1] + 16) ;
?>
 
 
<div><p> ICI J'AFFICHE LE CONTENU, JE VOUS ÉPARGNE LE CODE ÇA FAIT LOURD </p></div>
 
 
<p class="pages"><?php        }
                                }
                        }
 
if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
        if ($i != $page)
        {
    echo '<a href="guitares.php?page=' . $i . '">' . $i . '</a> ';
        }
        else
        {
        echo $i . ' ' ;
        }
}
mysql_close(); // Déconnexion de MySQL


Merci d'avance pour votre réponse, j'ai vraiment besoin de votre aide