php - mySQL 按字符串排序

标签 php mysql

我正在使用以下函数从我的数据库中选择和订购一些图像,但 ORDER 不起作用。

$qry="SELECT * FROM modzzz_articles_screenshots WHERE entry_id='".$aDataEntry['id']."'";
$qryr=mysql_query($qry) or die("Error selecting: ".mysql_error());

while($qryrow = mysql_fetch_array($qryr)) {

   $media_book_id = $qryrow['media_id'];
   $qry2="SELECT * FROM bx_photos_main WHERE ID='".$media_book_id."' ORDER BY Title DESC";
   $qryr2=mysql_query($qry2) or die("Error selecting: ".mysql_error());

   while($qryrow2 = mysql_fetch_array($qryr2)) {

        $photo_book_id = $qryrow2['ID'];
        $a = array ('ID' => $aAuthor['ID'], 'Avatar' => $photo_book_id);
        $aMedia_book_icon = BxDolService::call('photos', 'get_image', array($a, 'file'), 'Search');
        $aMedia_book_iconUrl = $aMedia_book_icon['file'];
        $sRet .='<a class="fancybox" rel="gallery" href="'.$aMedia_book_iconUrl.'" title=""><img src="'.$aMedia_book_iconUrl.'"></a>';

   }
}

ORDER BY title ASCDESC 始终返回相同的内容。

有没有错误?

问题可能是标题列不是 INT 值而是 VARCHAR 值吗?

如果这是问题所在,我无法更改列标题,是否有一种简单的方法来对结果进行排序?

谢谢

最佳答案

这里只限制一条记录:

   $qry2="SELECT * FROM bx_photos_main WHERE ID='".$media_book_id."' ORDER BY Title DESC";

因此,顺序 ASC 或 DESC 将永远相同。 假设 $media_book_id = 1;

SELECT * FROM bx_photos_main WHERE ID='".$media_book_id."' ORDER BY Title DESC

SELECT * FROM bx_photos_main WHERE ID='".$media_book_id."' ORDER BY Title DESC

将输出 EVER(使用您的表结构)

id | title | file
-----------------------
01 | Test  | test.jpg

因为我没有其他行可以按升序或降序排列。

如果我有两行,它将输出ASC:

id | title | file
-----------------------
01 | bar   | test.jpg
02 | foo   | test.jpg

对于DESC:

id | title | file
-----------------------
01 | foo   | test.jpg
02 | bar   | test.jpg

关于php - mySQL 按字符串排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764902/

相关文章:

php - 登录总是被黑

php - 我的mysql查询如何将 'Şarapçı Çağ'更改为 'Sarapci-Cag'

php - 搜索表单能够忽略空白字段

php - 为什么我的 MySQL Group By Hours vs Half Hours 文件不显示相同的数据?

php - 表单提交后将变量附加到 url

javascript - 如何使用 PHP Simple HTML DOM Parser 定位内部文章标签?

php - 某些服务器上的 FTP SSL 连接出现 ftp_put "Failed to establish connection"错误

mysql - 将带有 FK 的列添加到 MySQL 5.6 中的现有表中

mysql - SQL查询按结果分组

mysql - SQL 选择其中 id = 'x' 的所有记录的状态为 'y'