Как добавить категорию из другой таблицы в связанный с ней продукт?
у меня есть идея показать в результатах запроса имя категории, которая связана с продуктом.
Этот дизайн предлагает мне @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
и таким образом иметь возможность отображать результат следующим образом:
Таблица products
id_pro title categoria
1 live glypicon 1
Как вы можете увидеть в таблице категории в столбце " id_pro
находится число 1
, который основан на номер 1
del id_pro
Таблица products.
и в таблице products найдите номер 1
в столбце categoria
, который относится к названию категории, к которой он принадлежит.
примечание: я не знаю, является ли макет базы данных и таблицы правильными, но моя идея состоит в том, чтобы иметь возможность отображать следующий результат изображения. учитывая, что продукт может быть связан с более чем одной категорией, как показано на первом изображении, где существовали две категории для одного и того же продукта
PHP
&HTML
Мой запрос:
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>';
}}
}
}
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, вы получите желаемый результат из категорий для определенного продукта. И так вы можете спокойно пройти через них.