2 votes

Comment récupérer les données de plusieurs tables avec une seule requête en utilisant php et mysqli ?

J'ai vraiment été bloqué au moment où j'ai voulu montrer les données de plusieurs tableaux, par exemple, dans mon cas, le tableau des produits et des catégories. J'ai deux tableaux illustrés ci-dessous

J'ai le code php suivant pour afficher les données

 <div class="row">
 <?php
 require_once("connection.php");
 $query = "SELECT * FROM categories, products where cat_type = 'import' AND product_cat = cat_name";
 $result=$conn->query($query);
 while($row=$result->fetch_array()){
 ?>
 <div class="col-sm-3">
 <h5><?php echo $row['cat_name'];?></h5>
 <ul>
 <li><a href="category.php"><?php echo $row['product_title'];?></a>
 </li>
 </ul>
 </div>
 <?php } ?>
 </div>

J'obtiens un résultat comme celui-ci

two category title for same cat

Résultat attendu I want my out to be like this

1voto

Omar Faruque Points 437

Requête comme ci-dessous

 <?php
  $query = SELECT * FROM categories LEFT JOIN table2 ON categories.id=table2.id where categories.cat_type = 'import' AND categories.product_cat = cat_name";
 ?>

-1voto

Blueblazer172 Points 568

Jonction des bases de données connectées du même hôte

<?php $query = SELECT * FROM categories LEFT JOIN table2 ON categories.id=table2.id where categories.cat_type = 'import' AND categories.product_cat = cat_name"; ?>

Le code ci-dessus fonctionne bien.

Quelle est l'erreur que vous rencontrez ?

Une autre chose :

Ne jamais utiliser

while($row=$result->fetch_array()) { ?>
<div> HTML Code here </div> <?php } ?>

Au lieu de
{
Un peu de HTML
}

utilisez echo et affichez votre div là-dedans.

Quelque chose comme

echo "<div class='col-md-3'>".$row['cat_name']."</div>"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X