Visualizzare una vetrina di prodotti in home page per categoria Php Mysql

di il
2 risposte

Visualizzare una vetrina di prodotti in home page per categoria Php Mysql

Vorrei visualizzare i prodotti per categoria nella home page. Ho due tabelle: categorie e prodotti. Ho provato a creare prima la select per le categorie e poi quella dei prodotti. Il problema è che per ogni categoria ricevo sempre tutti i prodotti. Come posso assicurarmi che per ogni categoria venga visualizzato solo il prodotto corrispondente?

Di seguito lo schema che vorrei visualizzare in home:

1 Categoria

prodotto corrispondente, prodotto corrispondente

2 Categoria

prodotto corrispondente

3 Categoria

prodotto corrispondente, prodotto corrispondente, prodotto corrispondente

Questa è la query che ho creato ma come spiegato in precedenza mi elenca sempre tutti i prodotti per ogni categoria e non solo quelli inerenti ad ogni categoria.
<?php
$sql_cat = "SELECT  category_id,category_name FROM category WHERE status='A' order by category_id ASC"; 
$result_cat = mysqli_query($conn, $sql_cat);
if (mysqli_num_rows($result_cat) > 0) {
    // output data of each row
    while($row_cat = mysqli_fetch_assoc($result_cat)) {
        $categoryid=$row_cat["category_id"];
        $category_name=$row_cat["category_name"];
        echo''.$category_name.'<br>';
        $sql = "SELECT * FROM product WHERE status='A' and category='$categoryid' Order by category ASC"; 
        $resultSet = mysqli_query($conn, $sql);
        while($row = mysqli_fetch_assoc($resultSet)) {
            $nameproduct=ucfirst(html_entity_decode($row['product_name'], ENT_QUOTES));
            echo''.$nameproduct.'';
        }   
    }   
}  

2 Risposte

  • Re: Visualizzare una vetrina di prodotti in home page per categoria Php Mysql

    Ciao,
    prova cos'

    $sql_cat = "SELECT category_id,category_name FROM category WHERE status='A' order by category_id ASC";
    $result_cat = mysqli_query($conn, $sql_cat);
    if (mysqli_num_rows($result_cat) > 0) {


    foreach ($result_cat as $key) {

    $sql = "SELECT * FROM product WHERE status='A' and category='$key["category_id"]' Order by category ASC";
    $resultSet = mysqli_query($conn, $sql);

    $array_finale[]= $resultSet;



    }


    }


    foreach ($array_finale as $key) {

    echo $key.'<br>';
    }
  • Re: Visualizzare una vetrina di prodotti in home page per categoria Php Mysql

    Ciao,
    prova cos'

    $sql_cat = "SELECT category_id,category_name FROM category WHERE status='A' order by category_id ASC";
    $result_cat = mysqli_query($conn, $sql_cat);
    if (mysqli_num_rows($result_cat) > 0) {


    foreach ($result_cat as $key) {

    $sql = "SELECT * FROM product WHERE status='A' and category='$key["category_id"]' Order by category ASC";
    $resultSet = mysqli_query($conn, $sql);

    $array_finale[]= $resultSet;



    }

    foreach ($array_finale as $key) {

    echo $key.'<br>';
    }

    }
Devi accedere o registrarti per scrivere nel forum
2 risposte