>我有商店产品列表的表格数据
id | product name | shop Name
----------------------------
1 | Suger | Ram Store
-----------------------------
2 | Oil | Suraj Store
-------------------------------
3 | Batter | Ram Store
------------------------------
4 | Maida | Ram Store
--------------------------------
5 | Rice | Ram Store
--------------------------------
6 | Suger | Suraj Store
--------------------------------
7 | Oil | Ram Store
--------------------------------
8 | Rice | Suraj Store
现在用户搜索多个值:
搜索.php
<form method="post" action="results.php">
<select name="product[]" multiple>
<?php $showp=$db->query("SELECT * FROM product ORDER BY productname ASC");
$showte = $showp->fetchAll();
foreach($showte as $runshow){
$productname=$runshow['productname'];
$productid=$runshow['id']; ?>
<option value="<?php echo $productname; ?>"><?php echo $productname; ?></option>
<?php } ?>
</select>
<input type="submit" name="submit" value="Search"/>
</form>
现在是结果.php
if(isset($_POST['submit'])){
foreach($_POST['product'] as $productselect){
echo $productselect."<br>";
$query = $db->query("SELECT * FROM product WHERE testid LIKE '$productselect' ");
$new = $query->fetchAll();
if(count($new)){
foreach($new as $show){
echo $show['shopname'];
echo "productname = ".$show['productname']."<br/>"; }
}
else{ echo "No Result Found<br/>"; }
}
}/* serech if isset close */
现在选择用户是苏格,油,面糊
用户结果显示为: --
suger
suraj store
ram store
oil
suraj store
ram store
batter
ram store
结果显示还可以,但我想在商店列表中显示,例如
suraj store
suger
oil
ram store
suger
oil
batter
请说我是怎么做到的..
提前感谢您的支持
不要在结果中回显查询结果.php而是创建包含商店名称和与之关联的产品的数组。
而不是:
echo $show['shopname'];
echo "productname = ".$show['productname']."<br/>";
像这样做:
$shopProducts[$show['shopname']][] = $show['productname'];
在文件打印结果的最后:
foreach ($shopProducts as $shopName) {
echo $shopName . ":'n";
foreach ($shopProducts[$shopName] as $product) echo "$product'n";
}