php - 将产品显示在它们所属的类别之下
问题描述
我想创建一个“php-mysql”系统,管理员可以在其中创建类别和产品。产品将动态存储在它们所属的类别中,并且在用户界面上,这些产品将准确地显示在它们所属的类别之下。例如:现在我的产品显示如下图:
我希望它们显示如下图所示:
我的 mysql 表是:对于类别:
对于产品:
到目前为止,我的代码(sql)是:
function getCategory($category){
$db_conn=getConnection();
if(!$db_conn)return false;
$sql="SELECT * from products where name='$category'";
$result=$db_conn->query($sql);
if($result->num_rows>0){
$db_conn->close();
return false;
}
}
function getProduct(){
$db_conn=getConnection();
if(!$db_conn)return false;
$sql="SELECT * from products";
$result=$db_conn->query($sql);
$db_conn->close();
return $result;
}
php代码:
<div class="category">
<?php $categories=getCategory(); ?>
<?php while($category = $categories->fetch_assoc()) : ?>
<h2><?php echo $category['name'];?></h2>
<div class="products">
<?php $products=getProduct(); ?>
<?php while($product = $products->fetch_assoc()):?>
<table>
<tr><td><?php echo $category['name'];?></td></tr>
<tr><td><?php echo $category['image'];?></td></tr>
<tr><td><?php echo $category['price'];?></td></tr>
</table>
解决方案
将您的 getProduct() 函数更改为以下内容,以便根据类别获取产品。
function getProduct($category){
// Fill the details appropriately or pass a db instance
$db_conn = getConnection();
// Check connection
if ($db_conn->connect_error) {
die("Connection failed: " . $db_conn->connect_error);
}
$sql = "SELECT * from products WHERE category = ?";
// Execute query
$stmt = $db_conn->query($sql);
$stmt->bind_param("s", $category);
$stmt->execute();
$result = $stmt->get_result(); // get the mysqli result
$result = $result->fetch_assoc(); // fetch data
return $result;
}
在您的 HTML 中,执行以下操作:
<div class="category">
<?php $categories=getCategory(); ?>
<?php while($category = $categories->fetch_assoc()) : ?>
<h2><?php echo $category['name'];?></h2>
<div class="products">
<?php $products=getProduct($category['name']); ?>
<?php while($product = $products->fetch_assoc()):?>
<table>
<tr><td><?php echo $product['name'];?></td></tr>
<tr><td><?php echo $product['image'];?></td></tr>
<tr><td><?php echo $product['price'];?></td></tr>
</table>
</div>
</div>
推荐阅读
- python - Pandas Group_by 使用多个键,但只想指定外键
- spring-boot - Spring Boot 与 docker swarm 内部服务通信
- android - 如何在 android 10 或更高版本中获取底部导航按钮的可见性状态
- php - 文件附件失败
- android - 带有协程和流的 Android 通用 Gson.fromJson() 转换
- listview - 您如何在列表视图中使用关键字进行搜索?
- curl - 使用客户端api时如何在akka http httpRequest中添加多个参数
- python - Django中的熊猫关联
- java - java spring-boot错误:“无法解析符号jdbc”
- python - openCV python没有读取我的图像,路径不存在