Другие предлагают использовать mysql_num_rows()
, но вы должны знать, что эта функция работает, только если вы используете буферизованный запрос . Если вы делаете запрос, используя mysql_unbuffered_query()
, количество строк в результате будет недоступно.
Я бы использовал простую переменную-флаг:
$found_row = false;
while ($row = mysql_fetch_array($result)) {
$found_row = true;
. . .
}
if ($found_row == false) {
// show link
}
Может показаться излишним многократно устанавливать $found_row
в true, но присвоение литерального значения переменной должно быть незначительным расходом на любом языке. Конечно, он небольшой по сравнению с извлечением и обработкой результата SQL-запроса.