#php #mysql #mysqli
#php #mysql #mysqli
Вопрос:
Я действительно застрял в тот момент, когда я хотел показать данные из нескольких таблиц, т.Е. в моем случае таблица продуктов и категорий. У меня есть две таблицы, показанные ниже
У меня есть следующий php-код для отображения данных
<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>
Я получаю вывод следующим образом
Комментарии:
1. Этот вопрос кажется нерешенным. Можете ли вы предоставить структуру таблицы базы данных для
categories
andproducts
? Тогда мы можем легко помочь вам уточнить запрос. … который может включать в себя определенные столбцы в части ВЫБОРА, все прописные ключевые слова и псевдонимы таблиц повсюду.
Ответ №1:
Запрос, как показано ниже
<?php
$query = SELECT * FROM categories LEFT JOIN table2 ON categories.id=table2.id where categories.cat_type = 'import' AND categories.product_cat = cat_name";
?>
Комментарии:
1. $query = «ВЫБЕРИТЕ * ИЗ категорий СЛЕВА ПРИСОЕДИНИТЬСЯ К продуктам В categories.cat_type=products .product_cat где categories.cat_type = ‘import’ И categories.product_cat = cat_name»; не работает .. что я делаю не так
2. есть ли у вас столбец cat_type в таблице categories, а также product_cat в таблице product? у вас есть категория item в product.product_cat? предоставляющий код в порядке на моем сеансе, поэтому вы снова проверяете свою базу данных и отношение к таблице.
3. И «categories.cat_type=products .product_cat» не размещайте здесь «продукты (вы пишете пробел здесь).product_cat»
Ответ №2:
Соединения соединяют базы данных с одного хоста
<?php $query = SELECT * FROM categories LEFT JOIN table2 ON categories.id=table2.id where categories.cat_type = 'import' AND categories.product_cat = cat_name"; ?>
Приведенный выше код работает нормально.
Какая у вас ошибка?
Еще одна вещь:
Никогда не используйте
while($row=$result->fetch_array()) {
?>
<div>
HTML Code here
</div>
<?php } ?>
Вместо
{
Some HTML
}
используйте echo и выведите свой div там.
Что-то вроде
echo "<div class='col-md-3'>".$row['cat_name']."</div>"
Комментарии:
1. У меня ошибка при отображении подкатегорий всего, что я добавляю в новую подкатегорию… каждый раз он отображается с заголовком. Я не хочу, чтобы несколько заголовков одной и той же категории, а подкатегория должна входить в основную категорию, как на рис