affichage de categories ( integration le tuto réalisation de panier)

217079
,

Bonjour,
je cherche un colontiers qui pourrait me dire que ce qui fait que je n'arrive tousjours à afficher mes produits alors que tous les autres parties fonction bien.
Mercie par avance de joter un oeil enbas dans mon code .... et me dire qch...

Ce que je fais

<?php
          require 'header.php';     
                echo '<div class="container site">
                <h1 class="text-logo"><span class="glyphicon glyphicon-cutlery"></span> Burger Code <span class="glyphicon glyphicon-cutlery"></span></h1>
                <nav>
                        <ul class="nav nav-pills">';


                $statement = $DB->query('SELECT * FROM categories');
                $categories = pg_fetch_all($statement);
                print_r($categories);  // ici ça me affiche toutes les categories 
                foreach ($categories as $category) 
                {
                    if($category['id'] == '1')
                        echo '<li role="presentation" class="active"><a href="#'. $category['id'] . '" data-toggle="tab">' . $category['name'] . '</a></li>';
                    else
                        echo '<li role="presentation"><a href="#'. $category['id'] . '" data-toggle="tab">' . $category['name'] . '</a></li>';
                }

                echo    '</ul>
                      </nav>';

                echo '<div class="tab-content">';

                foreach ($categories as $category) 
                {
                    if($category['id'] == '1')
                        echo '<div class="tab-pane active" id="' . $category['id'] .'">';
                    else
                        echo '<div class="tab-pane" id="' . $category['id'] .'">';

                    echo '<div class="row">';

                    $statement = $DB->prepare('SELECT * FROM products WHERE products.category = ?');
                    $statement->execute(array($category['id']));
                    while ($item = $statement->fetch()) 
                    {
                        echo '<div class="col-sm-6 col-md-4">
                                <div class="thumbnail">
                                    <img src="images/' . $item['image'] . '" alt="...">
                                    <div class="price">' . number_format($item['price'], 2, '.', ''). ' €</div>
                                    <div class="caption">
                                        <h4>' . $item['name'] . '</h4>
                                        <p>' . $item['description'] . '</p>
                                        <a  href="addpanier.php?id=<?= $item->id; ?>" class="btn btn-order" role="button"><span class="glyphicon glyphicon-plus"></span> Add</a>
                                    </div>
                                </div>
                            </div>';
                    }

                   echo    '</div>
                        </div>';
                }
                echo  '</div>';
                require 'footer.php';
            ?>

Ce que je veux

en gros jle bute c'est d'aller chercher tous les catogories et ensuite les produits qui sont en chaque catogeries. donc y a ceci
$statement = $DB->query('SELECT * FROM categories');
$categories = pg_fetch_all($statement);
print_r($categories); // ici ça me affiche toutes les categories
foreach ($categories as $category)
{
if($category['id'] == '1')
echo '<li role="presentation" class="active"><a href="#'. $category['id'] . '" data-toggle="tab">' . $category['name'] . '</a></li>';
else
echo '<li role="presentation"><a href="#'. $category['id'] . '" data-toggle="tab">' . $category['name'] . '</a></li>';
}
qui vas chercher les six catefories. Et une fois qu'il les ai commence par celui qui est active et contienue en ce suite.
Etpuis ceci :

   while ($item = $statement->fetch()) 
                    {
                        echo '<div class="col-sm-6 col-md-4">
                                <div class="thumbnail">
                                    <img src="images/' . $item['image'] . '" alt="...">
                                    <div class="price">' . number_format($item['price'], 2, '.', ''). ' €</div>
                                    <div class="caption">
                                        <h4>' . $item['name'] . '</h4>
                                        <p>' . $item['description'] . '</p>
                                        <a  href="addpanier.php?id=<?= $item->id; ?>" class="btn btn-order" role="button"><span class="glyphicon glyphicon-plus"></span> Add</a>

pour afficher les produits

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

Fatal error: Uncaught Error: Call to undefined function pg_fetch_all() in C:\xampp\htdocs\Projet-shopingBook\SourceCode_Projet_MySQL\index.php:10 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Projet-shopingBook\SourceCode_Projet_MySQL\index.php on line 10

la line 10 est ceci : $categories = pg_fetch_all($statement); ce qui est sencer afichier les categories....

4 Réponse

35326
,

Salut,

pg_fetch_all appartient à l'extension pgsql, si cette extension n'est pas installée, la fonction n'est pas disponible.

217079
,

Merci à vous pour les réponses!!
$DB c'est une class de la base de donner... dis moi si tu ponse que ce serais meuix de poster aussi le code pour connecter à la basse de donner ($DB)

avant c'est fait avec $categories = $statement->fetchAll(); mais cela m'avait ffiché aussi des errures que j'avais pas compris donc je suis allé au doc pour chercher la même jure de fonction...
voici le code mtn si ça te dis qch

  $statement = $DB->query('SELECT * FROM categories');
                $categories = $statement->fetchAll();
                var_dump($statement)
                foreach ($categories as $category) 

Et puis ceci comme errure
Parse error: syntax error, unexpected 'foreach' (T_FOREACH) in C:\xampp\htdocs\Projet-shopingBook\SourceCode_Projet_MySQL\index.php on line 12

Et la ligne 12 on parle de ceci alors: foreach ($categories as $category)

217079
,

alors pour le var_dump de categories ça me l'affiche la même errure .... c'est même la qu'il y a un bug après au niveau des items ça deverait fonction correctement ...
mais pour celleci et le contenu du var_dump ? j'ai pas trop compris.. que veux-tu dire par la?

217079
,

oups excuse-moi , effectivement y avait manqué même si ç'arrive pas à y passer..

alors il nous dis qu'il y a un errure avec la line 10 qui est cela : $categories = $statement->fetchAll();
ça doit être une errure de boucler les catogeries si non je suis bien connecter à la basse mes base de donné...
et par ailleurs, on peut pas faire accompagnier une image ici? juste pour mieux montrer..