Bonjour, je suis débutant et je réalise un site ecommerce en php et sur ma page achats, je voudrai inséré ma base de donnée sous forme d'un bloc par articles
voici mon code

<link rel="stylesheet" type="text/css" href="style.css" />
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "allphptricks";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}
    $req =db->prepare('SELECT * products');
    $req->execute();
    var_dump($req->fetchall())

?>
<div class="tab-content" id="pills-tabContent">
  <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">
    <div class='container_produit'>
  <div class='product'>
    <?php $products = $DB->query('SELECT * FROM products');?>
    <?php foreach ( $products as $products ): ?>
    <img src='https://placeimg.com/200/100'>
    <h2 class='header'>Ruban adhésif</h2>
    <p class='description'>Dévidoir économique Largeur max rouleau 50 mm.</p>
    <p class='price'>7,80€</p>
    <div class='btn'>Ajouter au Panier</div>
    <div class='quickview'>Quickview</div>
  </div>
  <?php endforeach ?>
</div>
</div>
</div>/

il m'affiche une erreur :Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in D:\Site\PHP\BLOC..php on line 14

J’ai cherché des tuto je me suis appuyé deçu pour faire mon script mais sa ne marche pas
si vous avez de bon tuto, je suis proneur
Merci de vos réponse

11 réponses


bonjour.
pourquoi deux fois la même requête ?
tu as oublié le $ devant db
et pas besoin de préparer vu que tu n'as pas de valeurs à insérer.

Vinkey G
Auteur

merci de ta réponse en effet j'avais deux fois la même requête,
comment peut-on mettre des valeur de ma base voerts une page html tout en gardant la mise enn forme?

avec des echo... et du php
c'est un peu la base du php

Vinkey G
Auteur

tu pourra m'indiquer un bon tuto

pourquoi celui d'ici ne te plait pas ?
il est pourtant très complet

Vinkey G
Auteur
<?php echo $prenom; ?> 

va piocher sur la bdd?

Vinkey G
Auteur

peux tu m'indiqué son nom?

Vinkey G
Auteur

la partie me concernant se trouve dans quel chapitre?

surement ici.
https://www.grafikart.fr/tutoriels/html-template-php-1122
si tu poses la question c'est que tu n'as cliarement pas les bases.
car ensuite tu vas me demander comment on affiche un éléments de la BDD.

Tu essayes de poser les meubles dans une maison alors que tu n'as même pas les fondations.
Copier-coller du code ne sert à rien, si tu ne le comprends pas.

C'est pour toi que je dis cela, n'y vois rien de mal. Il faut juste commencer par le début.

Bonjour.
Tu ne fais même pas deux fois la même requête SQL, étant donné que la première est incorrecte, puisque dans celle-ci tu n'as même pas utilisé la clause FROM.
Autre chose, tu ne peux pas donner le même nom à un alias que de l'original, ce que tu fais pourant dans la boucle foreach.
De plus que tu fermes la boucle au mauvais endroit, par conséquent tu auras un problème de sémantique HTML.
Pour terminer, j'ai du mal à penser que même si tu apportes la correction dont a parlé Carouge10 ($), ça m'étonnerait que la seconde fonctionne en l'état, pour deux raisons évidentes, tu utilises des variables qui ne sont pas définies pour tes requêtes, autant pour db que DB et il ne faut pas oublier :

En PHP, les variables sont représentées par un signe dollar "$" suivi du nom de la variable. Le nom est sensible à la casse.

Source: Manuel PHP » Référence du langage » Les variables » Essentiel.