您好,我是Web开发的新手。我有两个页面:1. show_category.php(所有类别都显示在这里)2. listing.php(该类别的所有产品在表中显示)第一页显示数据库中的类别。
show_category.php:
<div class="row">
<?php
include 'connection.php';
$query="SELECT * FROM subcat WHERE pid='1' ";
$result=mysqli_query($conn,$query);
while ($rows=mysqli_fetch_array($result)) {
?>
<div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-primary shadow h-100 py-2">
<a href="javascript:$('#myform_id').submit();">
<form id="myform_id" method="post" role="form" action="listing.php">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<!-- <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Earnings (Monthly)</div> -->
<div class="h5 mb-0 font-weight-bold text-gray-800">
<p><?php echo $rows['name'];?>
<?php echo $rows['id']; ?>
</p>
</div>
</div>
</div>
</div>
</form>
</a>
</div>
</div>
<?php
}
?>
</div>
我尝试过一些东西
<a href="javascript:$('#myform_id').submit();">
<form id="myform_id" method="post" role="form" action="listing.php">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="h5 mb-0 font-weight-bold text-gray-800">
<p><?php echo $rows['name'];?>
<?php echo $rows['id']; ?>
<input type="hidden" name="name" value="<?php echo $rows['name'];?>">
<input type="hidden" name="pid" value="<?php echo $rows['id'];?>">
</p>
</div>
</div>
</div>
</div>
</form>
</a>
但是,这始终只在listing.php上发送第一类?如何在Listing.php上获取所选类别的名称和ID
listing.php:
$id=$_POST['id'];$name=$_POST['name'];echo $name;echo $id;
您需要$ _POST变量而不是$ _GET变量。
所以在您的while循环内,而不是像这样的链接:
href=products.php?cat_id=$id
然后您可以使用$ _GET在产品页面上进行访问。
您应该有一个表单元素,其中的输入隐藏了$id
的值,并且表单本身应该具有method='POST'
和action='products.php'
。
然后这将重定向到产品页面,而URL中没有添加位,您可以使用$ _POST进行访问
在这种情况下,循环中的每个项目都需要有一个单独的表单元素。
我认为您需要采取稍微不同的方法-您正在为每个类别创建一个新表格,这是不必要的。我会这样]
categories.php
include 'connection.php';
$query="SELECT * FROM subcat WHERE pid='1' ";
$result=mysqli_query($conn,$query);
$rows=mysqli_fetch_array($result);
foreach($row as $category) {
echo "<p><a href=listing.php?id='".$category['id']."'>".$category['name']."</a></p>";
}
listing.php
if(isset($_GET['id']} {
//get your listings from the database with the category id and display them
}
这假定您的列表表具有一个subcat列,其列的ID为其所链接的类别。
有帮助吗?