Bonjour.
Je tente de faire deux résultats dans une même requête.
Le deuxième résultat, c'est d'avoir une liste de catégories
pour en faire un menu.
J'ai fais deux requêtes pour obtenir ce résultat.
Voici mon image et le code:
Je suis bloqué à ce stade. C'est possible d'utiliser une seule requête?
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 <?php $dbh = new PDO("mysql:host=localhost;dbname=philgalerie", 'root', ''); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $formulaire = $dbh->query("SELECT categorie FROM categorie"); $formresultat = $formulaire->fetchAll(); echo '<ul>'; foreach($formresultat as $rowform) { echo '<li style="float:left;margin-left:30px"><a href="?catalog='.$rowform['categorie'].'">'.$rowform['categorie'].'</a></li>'; } echo '</ul><br><br><br>'; $categorie = isset($_GET['catalog']) ? $_GET['catalog'] : 'peinture' ; $stmt = $dbh->prepare(' SELECT categorie.categorie, users.id, users.firstname, users.lastname FROM categorie INNER JOIN images ON categorie.id = images.categorieid INNER JOIN users ON images.usersid = users.id WHERE categorie = :categorie ORDER BY categorie.id DESC, users.id DESC '); $stmt->bindValue(':categorie', $categorie, PDO::PARAM_STR); $stmt->execute(); if (!$stmt->rowCount() == 0) { echo 'Total des enregistrements trouvés selon votre critère : '.$stmt->rowCount(); $cat = ""; while ($row = $stmt->fetchObject()) { if($row->categorie != $cat) { $cat = $row->categorie; echo '<br><strong>'.$cat.'</strong>'; } echo '<br>'.$row->firstname.' '.$row->lastname; } } else { echo 'Aucun enregistrement trouvé correspondant à votre requête.'; } ?>
Ma prochaine étape serait de faire une pagination alors, je vais avoir
à faire soit encore une requête ou un autre résultat.
Partager