случайный подсчет строк в PDO - PullRequest
2 голосов
/ 22 июля 2010

как мне получить случайный счетчик строк с помощью PDO? я все еще учусь, как использовать PDO, так что это то, что я пытался, но это не сработало, потому что не рандомизирует кавычки:

$sql = "SELECT COUNT(*) AS rows FROM thquotes;";

                 try {
                      $query = $this->_db->prepare($sql);
                      $query->execute();

                      **$rowcount = $query->rowCount();
                      $rand = rand(0,$rowcount-1);**

                      $sql = "SELECT cQuotes, vAuthor, cArabic, vReference 
                              FROM thquotes 
                              LIMIT $rand, 1";

Я использовал этот код ранее без PDO, который работал:

**$rowcount = mysql_result($result, 0, 0);
$rand = rand(0,$rowcount-1);**

Ответы [ 3 ]

4 голосов
/ 22 июля 2010

Если вы планируете работать с большими объемами данных, я бы рекомендовал не использовать ORDER BY Rand ().

Объяснение / обоснование и альтернативный метод см .: Titov.Net - Не использовать статью Order By RAND () .

3 голосов
/ 22 июля 2010

Вы можете сделать это и с MySQL:

$sql = "SELECT cQuotes, vAuthor, cArabic, vReference 
                              FROM thquotes 
                              ORDER BY RAND()
                              LIMIT 1";
2 голосов
/ 22 июля 2010

Чтобы получить строки в случайном порядке, добавьте ORDER BY RAND().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...