PHP Check MySQL Последняя строка

У меня есть простой вопрос относительно PHP, чтобы проверить, является ли это последней строкой MySQL или нет. Например, у меня есть этот код:

$result = mysql_query("SELECT *SOMETHING* "); while($row = mysql_fetch_array($result)) { if (*this is the last row*) {/* Do Something Here*/} else {/* Do Another Thing Here*/} } 

Мне трудно проверить, является ли строка последней или нет. Есть идеи, как это сделать? Благодарю.

Solutions Collecting From Web of "PHP Check MySQL Последняя строка"

Вы можете использовать mysql_num_rows() до вашего цикла while, а затем использовать это значение для вашего условия:

 $numResults = mysql_num_rows($result); $counter = 0 while ($row = mysql_fetch_array($result)) { if (++$counter == $numResults) { // last row } else { // not last row } } 
 $result = mysql_query("SELECT *SOMETHING* "); $i = 1; $allRows = mysql_num_rows($result); while($row = mysql_fetch_array($result)){ if ($allRows == $i) { /* Do Something Here*/ } else { /* Do Another Thing Here*/} } $i++; } 

но, пожалуйста, учтите PDO

 $db = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password'); $stmt = $db->query("SELECT * FROM table"); $allRows = $stmt->rowCount(); $i = 1; while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { if ($allRows == $i) { /* Do Something Here*/ } else { /* Do Another Thing Here*/} } $i++; } 

Попробуй это:

 $result = mysql_query("SELECT colum_name, COUNT(*) AS `count` FROM table"); $i = 0; while($row = mysql_fetch_assoc($result)) { $i++; if($i == $row['count']) { echo 'last row'; } else { echo 'not last row'; } } 
 $allRows = $stmt->rowCount(); 

Не работал для меня, пришлось использовать:

 $numResults = $result->num_rows; 

Попробуйте иметь счетчик внутри цикла while и затем проверять его на mysql_num_rows()