J'essaie de concevoir une page de liste de souhaits mais contrairement à la page de liste de souhaits traditionnelle que nous avions l'habitude de voir, j'ai décidé d'en concevoir une qui contient des éléments de souhait, afin qu'un utilisateur puisse créer quelque chose comme un dossier de liste de souhaits puis décider d'ajouter ses éléments de souhait dans elle ou en eux. J'ai deux tables "Wishlist" et "Wishitems". Le problème maintenant, je pense, devrait provenir de ma requête, une liste de souhaits ne s'affiche pas si elle n'a pas d'éléments associés dans la table "wishitems" dont je ne veux pas. Je veux que les listes de souhaits s'affichent même si elles ne contiennent aucun élément. Quelqu'un peut-il m'aider s'il-vous-plaît?




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
 
/**
 * Get Wishlists information by $userId.
 *
 * @param int $userId user session Id.
 * @return array Result of fetch.
 */
function getWishlist($userId): array
{
    try {
        $db = createConnection();
        $sql = 'SELECT * FROM wishlist w
                LEFT JOIN wishitems wi ON wi.wishlistID = w.wishlistID
                LEFT JOIN products p ON wi.product_id = p.product_id
                LEFT JOIN images i ON p.product_id = i.product_id
                WHERE wi.user_id = :userId AND w.status = "1" AND imgPrimary = 1
                AND i.imgPath LIKE "%-tn%" AND wi.status = "1"
                ORDER BY w.wishlistID, w.date_created, wi.wishitemID DESC';            
        $stmt = $db->prepare($sql);
        $stmt->bindValue(':userId', $userId, PDO::PARAM_INT);
        $stmt->execute();
        $wishlists = $stmt->fetchAll();
        $stmt->closeCursor();
        return $wishlists;
    } catch (PDOException $e) {
        exit($e->getMessage()) ;
        return [];
    }
}