我有一个 PHP 代码,它运行 MySQL 查询以按所选过滤器对一些输出数据进行排序。
我遇到的问题是当我过滤超过 1 个单词时,即当我按颜色过滤时它适用于红色、黄色等。但不适用于蓝色海军。
我认为添加 '"
就足够了,但事实并非如此。
这是我当前的代码:
<?php
$colors = $con -> prepare("SELECT DISTINCT color_base1 FROM item_descr ORDER BY color_base1 ASC");
$colors ->execute();
while ($colorBoxes = $colors->fetch(PDO::FETCH_ASSOC))
{
echo "<input type='checkbox' class='regularCheckbox' name='color' value='".$colorBoxes[color_base1]."' /><font class='similarItemsText'> ".$colorBoxes[color_base1]."</font><br />";
}
?>
谢谢!
最佳答案
您需要在数组索引周围加上引号。
更改:$colorBoxes[color_base1]
收件人:$colorBoxes['color_base1']
printf(
"<input type='checkbox' class='regularCheckbox' name='color' value='%s' /><font class='similarItemsText'> %s</font><br />",
$colorBoxes['color_base1'],
$colorBoxes['color_base1']
);
此外,当输入 name
字段中有空格时,您的表单数据可能会提交得非常奇怪。提交表单后尝试 var_dump($_REQUEST)
以查看交易情况,但我建议不要在 color_base1
字段中使用空格。
关于php - 从 mysql 数据库中发出一个多词的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936094/