我在mysqli中有查询:
function getPicByAlbumt($query)
{
$sqlStr = "SELECT TOP 10 * FROM tbl_albumpictures WHERE album_Id = ? ".$query;
return $sqlStr;
}下面是这个查询的过程:
<?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
}
}
?>,,,我的问题是前10个*在mysqli :S中不起作用。有什么建议或帮助吗?换句话说:如果我有20 photos...ordered的评级...我的意思是,如果他的订单是1...and,最后一张照片可以是第一张,如果他的订单是20张,第一张照片可以是最后一张。所以我想要排序前10个id,但这10个是按评级排序的…我是说..如果我选择了前10个id (照片),第一张照片的评级是20...in ...and组(按id排序的前10张照片),我希望第一张照片被排序为last..because他的id是20,并且是最大的评价值
发布于 2012-09-27 22:16:24
SELECT TOP用于SQL-Server,不用于MySQL。你要找的是LIMIT
SELECT * FROM tbl_albumpictures WHERE album_Id = ? LIMIT 10发布于 2012-09-27 22:16:17
您使用的是MySQL,对吗?使用LIMIT 10代替TOP 10 (对于MSSQL)。
SELECT...
FROM...
WHERE...
ORDER BY...
LIMIT 10https://stackoverflow.com/questions/12623457
复制相似问题