Bonjour,
Je veux afficher des images page par page et sur 3 colonnes. 9 images par page.
Les images sont sélectionnées par "catégorie" (variable passée par URL) à partir d'une BDD "monbook".
J'utilise la combinaison de deux scripts récupérés sur le net.

Mais j'ai systématiquement l'erreur suivante :

Erreur : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit0,9' at line 1
J'ai essayé beaucoup de combinaison mais rien n'y fait. Quelqu'un peut'il m'aider? Merci d'avance.

voici mon code :

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
<?php
 
/=========================================
// includes du fichier fonctions
//=========================================
require 'fonctions.php';
//=========================================
// information pour la connection à le DB
//=========================================
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'monbook';
 
//=========================================
//On récupère la variable
//=========================================
$rubrique = $_GET['categorie']; 
 
//=========================================
// initialisation des variables
//=========================================
// on va afficher 5 résultats par page.
$nombre = 9;
// 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"];
 
 
//=========================================
// connection à la DB
//=========================================
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : 
'.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
 
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = "SELECT count(id_galerie) FROM galerie WHERE categorie='$rubrique'";
$result = mysql_query($select,$link)  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 vignette FROM galerie WHERE categorie='$rubrique'  ORDER BY numero_vignette ASC limit".$limite.','.$nombre;
$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
$data = mysql_fetch_array($result);
 
?>
<html>
 
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
 
<?php
 
// si on a récupéré un resultat on l'affiche.
//=========================================
//--- Résultat
$result = mysql_query($select);
while($data = mysql_fetch_array($result))  {
        // on stocke nos données
        $tablo[]=$data;
}
$nbcol=3; //--- détermine le nombre de colonnes de l'affichage
 
echo '<table width="400" height="400">';
for($i=0;$i<count($tablo);$i++){
        //--- les valeurs que l'on souhaite afficher
 
  $valeur1=$tablo[$i]['vignette'];
 
        if($i%$nbcol==0)
        echo '<tr height="120">';
        echo '<td align="center" width="128"><img 
src="photos/oeuvres/'.$valeur1.'" border="0" ><br></td>';
 
        if($i%$nbcol==($nbcol-1))
        echo '</tr>';
}
echo '</table>';
 
// on libère le résultat
mysql_free_result($result);
 
//======================================
 
$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;
 
 if($limite != 0) {
    echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page 
précédente</a>';
}
if($limitesuivante < $total) {
    echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
}
//=========================================
// 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;
}
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
    // affichage des liens vers les pages
    affichePages($nombre,$page,$total);
 
}
?>
 
 
 
 
</body>
</html>