【发布时间】:2015-12-29 21:25:57
【问题描述】:
当用户输入表单时,我知道用户可以输入什么,因为数据库中有数百个选项。 我正在使用 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 字段按字母顺序出现的。
我不知道解决此问题的最佳方法是什么,以便实际费率与用户选择的类别相匹配。
任何帮助都会非常感谢您
【问题讨论】:
-
如果您希望结果按特定顺序排列,您需要一个
ORDER BY子句。 -
我不明白当您只是回显速率时如何获得多列输出。
-
将所有列一起回显,速率应该与类别正确匹配。
-
费率来自包含类别和费率的表格,$qty、$pcategories 和成本来自用户在表单中输入的内容。
-
您需要在查询中使用
ORDER BY,以便按照您在创建表单时使用的顺序生成结果。