订购结果的PHP问题

时间:2012-01-06 22:33:20

标签: php mysql

我正在使用此代码获取图片并按顺序显示

$qry2 = "SELECT * FROM bx_photos_main 
         WHERE Categories='Articles' 
         ORDER BY Title ASC";

$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'];

    //if($media_book_id == $photo_book_id) {        
          $sRet .='<a class="fancybox" rel="gallery" href="'.$aMedia_book_iconUrl.'" title=""><img src="'.$aMedia_book_iconUrl.'"></a>';
    // }
}

一切正常,但只要我检查结果,就像上面评论过的那样if($media_book_id == $photo_book_id) {我完全放弃了订单。

为什么呢?怎么了?当我使用PHP语句时,为什么会松开结果的顺序?我该如何解决这个问题?

由于

1 个答案:

答案 0 :(得分:0)

这里发生的是if语句因为语句本身而删除了一些行。当这两个变量不相等时,您将无法将当前行中的信息添加到$sRet变量中。

$sRet .='<a class="fancybox" rel="gallery" href="'.$aMedia_book_iconUrl.'" title="">
<img src="'.$aMedia_book_iconUrl.'"></a>';

您可以做的是在if语句中添加else以查看它们何时不相等。您的if语句将是这样的:

if($media_book_id == $photo_book_id) {        
    $sRet .='<a class="fancybox" rel="gallery" href="'.$aMedia_book_iconUrl.'" title="">
             <img src="'.$aMedia_book_iconUrl.'"></a>';
} else {
    echo "Error - Media_book_id: $media_book_id. Photo_book_id: $photo_book_id";
}