Как добавить категорию из другой таблицы в связанный с ней продукт?


у меня есть идея показать в результатах запроса имя категории, которая связана с продуктом.

Этот дизайн предлагает мне @Lixus в своем комментарии...

Этот дизайн таблицы идеально подходит только для соответствующей категории продукта.

таблица категорий

id_cat       title     
  1           PHP
  2         MYSQLI
  3         JQUERY         

но если бы продукт был связан с более чем одной категорией, то в идеале был бы серьезным добавить id_pro продукта в таблицу категорий

id_cat       title    id_pro   
  1           PHP       1
  2         MYSQLI     NULL
  3         JQUERY     NULL
  4          HTML       1

и таким образом иметь возможность отображать результат следующим образом:

introducir la descripción de la imagen aquí

Таблица products

  id_pro          title          categoria
    1           live glypicon        1

Как вы можете увидеть в таблице категории в столбце " id_pro находится число 1, который основан на номер 1 del id_pro Таблица products.

и в таблице products найдите номер 1 в столбце categoria, который относится к названию категории, к которой он принадлежит.

примечание: я не знаю, является ли макет базы данных и таблицы правильными, но моя идея состоит в том, чтобы иметь возможность отображать следующий результат изображения. учитывая, что продукт может быть связан с более чем одной категорией, как показано на первом изображении, где существовали две категории для одного и того же продукта PHP&HTML

introducir la descripción de la imagen aquí

Мой запрос:

function newpro(){
    global $con;
    $sql = "Select * from products where id_product and active='1' order by id_product ASC limit 1";
    $rows = mysqli_query($con, $sql);
    $new_products = mysqli_num_rows($rows);

    if($new_products==0){
        echo"No hay cursos nuevos para mostrar";
    }else{
        while ($pro = mysqli_fetch_array($rows)) {

            for ($i=0; $i<8; $i++) {

            echo '<div class="four-column middle-pro">
        <div class="frame-item">
          <a href="'.$pro['url'].'">
            <img src="assets/img/upload/image/'.$pro['image'].'" alt="'.$pro['title'].'" />
          </a>
          <div class="all-description">
            <div class="women">
              <h2><a href="#">'.$pro['title'].'</a></h2>
              <h3><a href="">'.$pro['subtitle'].'</a></h3>
              <h6><a href="">AQUI QUIERO MOSTRAR LA CATEGORIA</a></h6>
            </div>
            <div class="price align-right">
              <p><label>$'.$pro['price_old'].'</label><em class="item_price">$'.$pro['price'].'</em></p>
                          <!--<div class="clearfix"></div>-->
            </div>
            <!--<div class="center add">
              <a href="#">más información...</a>
            </div>-->
          </div>
        </div>
      </div>';
        }}
    }
}
 5
php
Author: J. Mick, 2017-07-24

1 answers

Из того, что вы говорите, не сосредотачиваясь на коде, ваш дизайн базы данных неверен.

Каждая категория может иметь несколько продуктов, и каждый продукт может иметь несколько категорий. Таким образом, у вас должно быть 3 таблицы.

Одна из категорий:

id_cat title

Другие продукты:

id_prod title

И еще один, чем два (Produce-cat):

id_cat id_prod

И ваш query будет:

    select * from productos left join produ-cat on id_prod = id_prod left join
 categorias on id_cat = id_cat where title = 'producto'

(query-это просто идея, которую вы должны иметь)

С таким query, вы получите желаемый результат из категорий для определенного продукта. И так вы можете спокойно пройти через них.

 3
Author: gbianchi, 2018-06-18 22:02:10