Bonjour, je débute en php et j'ai un problème que j'arrive pas a régler.
j'ai une bases de données avec 2 tables qui sont reliée
la 1ére contient tout mes produits et la seconde contient les type de produits.
j'ai voulu afficher mes produits dans un tableau avec 4 colonnes et 2 lignes et une barre de navigation pour l'affichage page par page, sa fonctionne parfaitement comme je veux voila le screen




mon probléme c'est que lorsque je souhaite afficher mes produits par type sa fonctionne mais j'ai des erreurs du genr " Warning: mysql_result() [function.mysql-result]: Unable to jump to row 3 on MySQL result index 6 in "....

pour être encore plus claire voila le screen




et voila 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
 
<?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>
voila j'espère que quelqu'un aurais la gentillesse de m'aider résoudre mon probléme