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 :
Mais quand j’ai qu’une, deux ,trois résultat ou plus de 4, ce type de procédé ne fonctionne pas.
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; }
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>'; } } ?>
Partager