簡體   English   中英

PHP與mysql SELECT LIMIT

[英]PHP with mysql SELECT LIMIT

我在PHP中有一個請求(mysql)給了我很多結果,它就像一個魅力。 以下是給出115結果的請求示例:

public static function getInfo($start, $limit) {
 $sql = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(
  SELECT blablabla FROM blabla ORDER BY bla LIMIT $start,$limit
 );
 return $sql;
}

在我的php文件中,我有:

$rq = getInfo (0, 0);
$count_rq = (int)count($rq);
for ($i = 0; $i < $count_rq; ++$i) {
 .... do my things ....
}

這是問題所在:在此配置中,它僅顯示結果1到42 ...

當我做一些修改/測試時,它顯示奇怪的結果:

Modification => for ($i = 42; $i < $count_rq; ++$i) {.......}
I got 0 result.

Modification => for ($i = 43; $i < $count_rq; ++$i) {.......}
I got results 43 from 115 !..

Modification => for ($i = 60; $i < $count_rq; ++$i) {.......}
I got results 60 from 115 !..

我試圖修改“限制”,但我不明白。 這是我做修改/測試時的結果:

(i'm using for ($i = 0; $i < $count_rq; ++$i) {.......})
 Modification => $rq = getInfo (0, 20);
     I got results 1 to 20.
 Modification => $rq = getInfo (0, 50);
     I got results 1 to 42.
 Modification => $rq = getInfo (10, 0);
     I got results 1 to 42.
 Modification => $rq = getInfo (10, 30);
     I got results 11 to 40.

我不知道如何展示我的所有結果? 我希望有一個代碼,當請求獲得115個結果時可以顯示115個結果,或者當請求獲得10個結果時可以顯示10個結果。 我怎樣才能做到這一點? 為什么我限制在前42個結果?

  • 您在請求中使用limit並檢查MySQL SELECT是否正在檢索到良好的結果。
  • 那么,為什么你開始for比任何其他事情環路0
  • 如果您的請求獲得115行,您應該使用這句話來遍歷所有這些:

    for($ i = 0; $ i <$ count_rq; ++ $ i)

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM