2014-05-23 5 views
-2

Я пытаюсь найти количество строк в таблице в базе данных в зависимости от определенных условий с функцией ограничения, чтобы я мог подсчитать количество строк, которые соответствуют условию после определенного строка в таблице.MYSQLI SELECT with Limit не работает

Таким образом, я создал мой PHP запрос:

$q = $db->query("SELECT u.*, f.* FROM updates U LEFT JOIN friends f ON f.fid = u.userid WHERE f.uid = '$userid' ORDER BY u.up_id DESC LIMIT $limitID, 9999999"); 
$nr = $q->num_rows; 

Однако даже если есть несколько строк в базе данных после $limitID, он говорит, что нет ни одной строки. Если я пытаюсь это:

$q = $db->query("SELECT u.*, f.* FROM updates U LEFT JOIN friends f ON f.fid = u.userid WHERE f.uid = '$userid' ORDER BY u.up_id DESC LIMIT $limitID"); 
$nr = $q->num_rows; 

, то это работает, но это не рассчитывать после $limitID. Любые udeas?

ответ

1

Согласно YO ваш запрос , он должен быть как

$sql = "SELECT count(*) FROM updates U 
     LEFT JOIN friends f ON f.fid = u.userid WHERE f.uid = ?"; 
// getting stuff using prepared statements 
$row = $res->fetch_row(); 
$num = $row[0] - $limitID; 

, но я сомневаюсь, что это действительно то, что вам нужно либо.

+0

Нет ее не работает либо. Проблема больше связана с тем, что количество строк не равно $ limitID, который исходит из идентификатора строки. – Colum

+1

Точно - вот что я сказал в своем ответе. вам скорее нужно сделать условие типа WHERE someid> $ limitID –

+0

Отсортировано, с помощью вас. Я отправлю свой ответ для справки ради – Colum

-2

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

$limitID = $upid; 
$sql = "SELECT count(*) FROM updates u 
LEFT JOIN friends f ON f.fid = u.userid WHERE 
(f.uid = '$userid' AND u.up_id > '$limitID')"; 
$res = $db->query($sql); 
$row = $res->fetch_row(); 
$num = $row[0]; 
if($num == 0){ 
    // do nothing 
} else { 
    echo "<span class='newPosts'>" .$num. " New Post" 
      . (($num>1)?'s':' ') . "</span>"; 
} 

работает отлично

+0

вам явно не нужен заказ –

+0

он все еще работал, не делал большой разницы – Colum

+0

Каждый раз, когда я вижу, что «это сработало» от пользователя PHP в качестве доказательства некоторой идеи, я чувствую Мне жаль, что я никогда не знал этого языка. –

Смежные вопросы