Ajax/PHP下拉菜单中的MySQL排序顺序问题
希望有人能帮我解决MySQL/PHP排序顺序问题 我正在做的工作的简要概述如下: 我有三个链接的选择框。第一个框的输出是固定的,它包含我的商店中的所有顶级类别。根据在上一个框中所做的选择,将填充后面的两个框。。。我听你说,标准,直截了当的东西 这一切都很好,最后一个框中的选择字符串被附加到搜索结果页面——这正是我所需要的。但是,当我试图组织第二个和第三个箱子的排序顺序时,我的问题来了 以下是我的代码示例:Ajax/PHP下拉菜单中的MySQL排序顺序问题,php,mysql,ajax,Php,Mysql,Ajax,希望有人能帮我解决MySQL/PHP排序顺序问题 我正在做的工作的简要概述如下: 我有三个链接的选择框。第一个框的输出是固定的,它包含我的商店中的所有顶级类别。根据在上一个框中所做的选择,将填充后面的两个框。。。我听你说,标准,直截了当的东西 这一切都很好,最后一个框中的选择字符串被附加到搜索结果页面——这正是我所需要的。但是,当我试图组织第二个和第三个箱子的排序顺序时,我的问题来了 以下是我的代码示例: public function ShowType() {
public function ShowType()
{
$sql = "SELECT categories.*, categories_description.categories_name FROM categories, categories_description WHERE categories.categories_id = categories_description.categories_id AND categories.parent_id = $_POST[category] ORDER BY categories_name";
$res = mysql_query($sql,$this->conn);
$type = '<option value="0">Select...</option>';
while($row = mysql_fetch_array($res))
{
$type .= '<option value="' . $row['categories_name'] . '">' . $row['categories_id'] . '</option>';
}
return $type;
}
Ajax取代了灰色的、不可点击的
<option value="0">Select...</option>
分给
<option value="' . $row['categories_name'] . '">' . $row['categories_id'] . '</option>
在上一个框中进行选择后
我的问题是,框激活后显示的数组不是按字母顺序排列的。我想在选择框中按类别和名称对输出进行排序,但不管我在MySQL查询中尝试了什么,它都不会有
我的动态标记的输出是否因为Ajax的更新方式而未排序?我需要用PHP对数组重新排序吗?如果需要,有人能告诉我一个初学者的级别吗?我不愿意称自己为中级!关于如何去做的教程,请
我希望我不要再像上次那样引起争论了-
干杯
Andy.在SQL查询中,您有: 按类别和名称排序 但是,在填充下拉列表的代码中,您有: "$行['categories_id'].' 您正在显示类别\u id,但按类别\u名称排序,因此结果下拉列表不会显示给用户进行排序 使用它: 按类别排序\u id尝试以下查询: 选择categories.*,categories\u description.categories\u name FROM categories,categories\u description其中categories.categories\u id=categories\u description.categories\u id和categories.parent\u id='$\u POST[categories]'按类别排序\u name 或
选择categories.*,categories\u description.categories\u name FROM categories,categories\u description其中categories.categories\u id=categories\u description.categories\u id和categories.parent\u id='.$\u POST[category].'按类别排序\u name。它们不再得到维护,并且已经开始使用。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,你的哪一部分不会引领你走向成功?你在查询数据库时会对值进行排序。谢谢你的链接,Hakre。我将介绍如何替换mysql_*函数。我尝试在MySQL查询中对值进行排序,我尝试了许多不同的按值排序,但似乎没有任何结果!但我也会去看你第二篇文章中的链接,它被称为按顺序而不是按排序。检查mysql\u查询是否返回FALSE,即错误。然后用mysql\u error显示错误。也请看对不起,这只是我在回答中使用了错误的术语。在我的代码中,我使用了orderby。但是指出像那样的小错误有助于将来记忆中的东西!如果我从现在开始在代码中键入SORT BY,我会记住这篇文章谢谢你的评论,米奇斯。之前我已经看过了,在问我的问题之前,我已经交换了你提到的两个值,但是这并没有改变下拉列表的结果。您是在建议$row['xxxxx uXXXXX']中的一个条目是多余的,还是我应该在其中一个条目中添加另一个值?谢谢您的建议,Akhilesh,但这没有任何效果。。。即使是这样,我还是希望结果按字母顺序排列,ID不是按字母顺序排列的,而是按创建顺序排列的!实际上,无论我如何尝试在查询中对列表排序,这都是项目的显示顺序!我试过按类别排序\u id按类别排序\u名称按类别排序\u说明。类别\u名称,以及其他一切!填充下拉菜单时,不会改变其顺序!我想我必须更改数据库中的类别ID。