Bonjour à tous !

Je crée un site dynamique en utilisant un menu tab avec bootstrap 4 et php pour intégrer la BDD.
Ce menu fonctionne seulement, j'ai l'impression qu'il 'entre pas dans le else du 2ème foreach et je ne comprend pas pourquoi.

Pourriez-vous m'éclairer ? Cela fait un moment que je bloque sur ça, autrement le projet fonctionne très bien.

Voici le 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
<!DOCTYPE html>
<html>
 
    <head>
        <title>Burger Code</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-wdth, initial-scale=1">
 
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
            integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
 
        <link rel="preconnect" href="https://fonts.gstatic.com">
        <link href="https://fonts.googleapis.com/css2?family=Holtwood+One+SC&display=swap" rel="stylesheet">
 
        <link rel="stylesheet" type="text/css" href="css/style.css">
 
    </head>
 
    <body>
 
        <div class="container site">
            <h1 class="text-logo">
                <i class="fas fa-utensils"></i>
                Burger Code
                <i class="fas fa-utensils"></i>
            </h1>
 
            <?php 
                require 'admin/database.php';
                echo '<nav>
                        <ul class="nav nav-pills" id="myTab" role="tablist">';
                $db = Database::connect();
                $statement = $db->query("SELECT * FROM categories");
                $categories = $statement->fetchAll();
                foreach($categories as $category) {
 
                    if($category['id'] == "1") {
                        echo '<li class="nav-item">
                                <a class="nav-link active" id="onglet-'. $category['id'] . '" data-toggle="tab" role="tab" aria-controls="onglet-' . $category['id'] . '" aria-selected="true" href="#onglet-' . $category['id'] . '">' . $category['name'] . '</a>
                            </li>';
                    } else {
                        echo '<li class="nav-item">
                                    <a class="nav-link" id="onglet-' . $category['id'] . '" data-toggle="tab" role="tab" aria-controls="onglet-' . $category['id'] . '" aria-selected="true" href="#onglet-' . $category['id'] . '">' . $category['name'] . '</a>
                                </li>';
                    }
                }
                echo '</ul>
                </nav>';
 
                echo '<div class="tab-content">';
                foreach($categories as $category) {
 
                    if ($category['id'] == "1") {
                        echo '<div id="onglet-' . $category['id'] . '" class="tab-pane fade show active" role="tabpanel" aria-labelledby="onglet-' . $category['id'] . '-tab">';
                    } else {
                        echo '<div id="onglet-' . $category['id'] . '" class="tab-pane fade" role="tabpanel" aria-labelledby="onglet-' . $category['id'] . '-tab">';
                    }
 
                    echo '<div class="row">';
 
                    $statement = $db->prepare("SELECT * FROM items WHERE items.category = ?");
                    $statement->execute(array($category['id']));
 
                    while($item = $statement->fetch()) {
                        echo '<div class="col-sm-6 col-lg-3">
                                <div>
                                    <img class="img-fluid img-thumbnail" src="img/' . $item['image'] . '" alt="...">
                                    <div class="price">
                                        ' . number_format((float)$item['price'], 2, '.', '') . '
                                    </div>
                                    <div class="caption">
                                        <h4>' . $item['name'] . '</h4>
                                        <p>' . $item['description'] . '</p>
                                        <a href="#" class="btn btn-order" role="button">
                                            <i class="fas fa-shopping-cart"></i>  Commander</a>
                                    </div>
                                </div>
                            </div>';
                    }
                    echo '</div>
                        </div>';
                }
 
                Database::disconnect();
                echo '</div>';
 
            ?>
 
        </div>
 
    </body>
 
    <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> -->
 
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
        integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
        crossorigin="anonymous"></script>
 
    <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
        integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
        crossorigin="anonymous"></script> -->
 
 
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
        integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
        crossorigin="anonymous"></script>
 
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
        integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
        crossorigin="anonymous"></script>
 
    <script src="https://kit.fontawesome.com/7a8f32e75d.js" crossorigin="anonymous"></script>
 
    <script src="js/script.js"></script>
 
</html>
Le .js associé :

Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
$(document).ready(function() {
 
    $('#myTab a').on('click', function (e) {
        e.preventDefault()
        $(this).tab('show');
    });
 
});

Je vous remercie !!!!!