当用户输入表单时,我知道如何知道用户可以输入什么,因为数据库中有数百个选项。 我正在使用foreach循环从他们选择的已发布字段获取类别和成本示例:
<td><?php foreach($pcategories as $value){echo "$value <br>";}?></td>
$qty $pcategories $cost $Rate
1 Bicycles 100 45
7 Auto Parts 200 60
5 Alarm Sys 300 35
然后从下面的查询中选择费率
<?php $connection = mysqli_connect("localhost","root","","customs") or die("Error " . mysqli_error($connection));
$sql = "SELECT `categories`, `rate`, `elevy` FROM `lt_products` WHERE `categories` IN ('".implode("','",$pcategories)."')";
$result = mysqli_query($connection, $sql)or die(mysql_error());
while($row = mysqli_fetch_assoc($result)) {?>
<?php echo $row["rate"]; ?> <br>
<?php } ?>
以下问题是查询根据用户投入的类别提取正确的费率 但是费率不符合用户输入类别的顺序。
以上费率实际上应该如下所示,但这就是我超越
$qty $pcategories $cost $Rate
1 Bicycles 100 35
7 Auto Parts 200 60
5 Alarm Sys 300 45
选择查询似乎是根据表格中的pcategories字段按字母顺序排列。
我不知道解决这个问题的最佳方法是什么,以便实际费率与用户选择的类别相匹配。
任何帮助都会非常感谢你
答案 0 :(得分:0)
使用DefaultCellStyle.Format
功能根据结果在$pcategories
$sql = "SELECT `categories`, `rate`, `elevy`
FROM `lt_products`
WHERE `categories` IN ('".implode("','",$pcategories)."')
ORDER BY FIELD(categories, '".implode("','",$pcategories)."')";