Bonjour,

J’espère que je post au bon endroit ! (pour moi il s’agit plus d’un problème de PHP de de connexion à MySQL)

Je me permets de me tourner vers vous car je ne trouve pas la solution à un problème.
Je suis en train de faire un site avec une BDD MySql dans laquelle se trouvent 9 colonnes.
Mon problème se trouve à l’affichage des informations.

Le but est de faire 4 vignettes l’une à côté de l’autre avec les informations d’une ligne de la BDD.
Si j’ai plus de 4 vignettes, je souhaiterais mettre les 4 suivantes dessous et ce, jusqu’à la fin de mon résultat.

En HTML, avec du statique, je suis capable de le faire avec un float :left par contre quand je ne connais pas le nombre de ligne résultant de ma requête, c’est plus compliqué (ceux qui est le cas à chaque fois )
En effet, quand j’ai 4 ou un multiple de 4, je mets un float :none sur la dernière vignette avec un truc comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
if ($nb_vignette < 3)
	{
echo 'float:left';
	$nb_vignette = $nb_vignette +1;
	}
	else
	{
	echo 'float:none';
	$nb_vignette = 0;
}
Mais quand j’ai qu’une, deux ,trois résultat ou plus de 4, ce type de procédé ne fonctionne pas.
Par exemple la 5eme vignette garde le float :left ce qui est logique mais je ne vois pas comment resoudre ca …
J’ai essayé avec un switch($nb_vignette) case 1, case 2 etc mais c’est vite devenu une usine à gaz.

Pouvez-vous me donner un petit coup de main ?
PS : je ne suis pas un spécialiste de PHP comme vous pourrez le voir dans mon code

Merci d’avance

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
 
<?php
//Requete sur les type_mat non vide
$sql_type_mat_titre = 'SELECT DISTINCT `type_mat` FROM `occasion` WHERE `designation` <> "" ORDER BY `type_mat`';
$result_type_mat_titre = mysql_query ($sql_type_mat_titre) or die ('Erreur SQL !'.$sql_type_mat_titre.'<br />'.mysql_error());
 
// on affiche les titres par order alphabetique
while($data_type_mat = mysql_fetch_array($result_type_mat_titre))
	{
	$type_mat_titre = $data_type_mat['type_mat'];
	echo '
		<div id="separateur2" style="font-size:10px;">
			<a href="'.include 'adressesite.inc.php';
	echo'
			/occasions.php#page"></br>       Haut de page</a>
		</div>
		<div class="tdoccastitre" id="'.$type_mat_titre.'">'.$type_mat_titre.'
		</div>';
	//Pour chaque type_mat, on affiche la 1ere photo et les info des mat
	$sql_mat = 'SELECT * FROM `occasion` WHERE `type_mat` = "'.$type_mat_titre.'"';
	$result_mat = mysql_query ($sql_mat) or die ('Erreur SQL !'.$sql_mat.'<br />'.mysql_error());
	$nb_vignette = 0;
	while($data_mat = mysql_fetch_array($result_mat))
		{
		$n_serie = $data_mat['n_serie'];
		$matricule = $data_mat['matricule'];
		$etat_acquisition = $data_mat['etat_acquisition'];
		$designation = $data_mat['designation'];
		$annee_origine = $data_mat['annee_origine'];
		$marque = $data_mat['marque'];
		$type_mat = $data_mat['type_mat'];
		$photo = $data_mat['photo'];
		//Si la marque se trouve dans la designation -> on sup
		if (preg_match("/$marque/", $designation))
			{ 
			//echo "trouvé</br>";
			$designation = preg_replace ("/$marque/","", $designation);
			}
			else
			{
			//echo "non vu</br>";
			}
		//Si le type mat se trouve dans la designation -> on sup
		if (preg_match("/$type_mat/", $designation))
			{ 
			//echo "trouvé</br>";
			$designation = preg_replace ("/$type_mat/","", $designation);
			}
			else
			{
			//echo "non vu</br>";
			}
 
 
		//echo $n_serie.' '.$matricule.' '.$etat_acquisition.' '.$designation.' '.$annee_origine.' '.$marque.' '.$type_mat.' '.$photo.'</br>';
 
		echo '
			<div style="';
		//test IF
		if ($nb_vignette < 3)
			{echo 'float:left';
			$nb_vignette = $nb_vignette +1;
			}
			else
			{
			echo 'float:none';
			$nb_vignette = 0;}
		echo	'">';
 
 
		echo '	<a href="'.include 'adressesite.inc.php';
		echo '		
				/'.$matricule.'.php"/><img class="tdoccasphoto" src="'.include 'adressesite.inc.php';
		echo '
				/'.$matricule.'.jpg" border="0" alt="'.$marque.' - '.$designation.'" title="'.$marque.' - '.$designation.'" width="150px" style="margin-bottom:10px"/>
				</a>
				</br>'.$marque.
				'</br>'.$designation.
				'</br>
				<span class="tboccasinfo"><a href="'.include 'adressesite.inc.php';
		echo	'/occasions/'.$matricule.'.php">Plus d infos</a></span>
				
			</div>';
		}
	}
 
 
?>