2012-09-27 22 views
2

选择上面我有查询中的mysqli:sql中的mysqli的PHP SQL

function getPicByAlbumt($query) 
{ 
    $sqlStr = "SELECT TOP 10 * FROM tbl_albumpictures WHERE album_Id = ? ".$query; 
    return $sqlStr; 
} 

,这是此查询的proccess:

<?php 
     $sqlu = getPicByAlbumt("order by rating"); 
    if ($result2u = $mysqli->prepare($sqlu)) 
    { 
     $rekzak = 76; 
     $result2u->bind_param("i",$rekzak); 
     $result2u->execute(); 
     $result2u->store_result(); 
     $rows2u = $result2u->num_rows;  
    } 
    if($rows2u>0) 
    { 
    $rowu = fetch($result2u); 
    for($g=0; $g<$rows2u; $g++) 
    { 
    $picname = $rowu[$g]["pic_name"]; 
    ?> 
      <div style="float:right; width:115px; height:96px; background:url(<?=$site_url?>/images/t/girlpicbg.png); margin-right:1px; margin-top:2px;"> 
      <img src="<?=$site_url?>/uploads/albums/<?=$picname?>" style="width:106px; height:88px; margin-top:3px; margin-right:6px;" /> 
      </div> 
    <?php 
    } 
    } 
    ?> 

,,,我的问题是,TOP 10 *是不是在工作mysqli的:S ..任何建议或帮助,请:秒。 换句话说: 如果我有20张......通过评分排序....我的意思是最后一张照片可以是第一,如果他的订单是1 ...而第一个可以是最后一个,如果他的订单是20 ...所以我想订购第一个10个ID但是这个1 0按照评级排序......我的意思是..如果我选择了前10个身份证件(照片)......并且第一张照片评分是20 ...在这个组中(前10张照片是由id)我想第一张照片被责令last..because他的ID是20,最大额定值

+0

我问一个之前是绝对肯定的是,任何谷歌搜索涉及'TOP'和'Mysql'会告诉你使用'LIMIT',请做好充分的研究问题:) – epoch

+0

感谢帮助:)答案,但 – michael

回答

1

您使用MySQL吧?使用LIMIT 10代替TOP 10对于MSSQL)。

SELECT... 
FROM... 
WHERE... 
ORDER BY... 
LIMIT 10 
+0

我有20张......通过等级排序....我的意思是最后一张照片可以是第一,如果他的命令是1 ...和第一可最后,如果他的订单是20 ...所以我想要订购第一个10的身份证,但这10通过评级排序...我的意思是..如果我选择了前10个身份证件(照片)...和第一个照片评分是20 ...在这个组中(前10张照片由ID)我想第一张照片被订购最后..因为他的ID是20和最大的评级值 – michael

+0

好吧我解决了it..i使用:限制0,10和限制10,10thank你的男人 – michael

+0

@迈克尔欢迎您:) –

3

SELECT TOP用于SQL-Server,不适用于MySQL。什么你要找的是LIMIT

SELECT * FROM tbl_albumpictures WHERE album_Id = ? LIMIT 10 
+0

谢谢你的人;) – michael