Как mysql_fetch_assoc только когда-либо содержит одну строки, считая число строк не будет работать для вас. Кроме того, mysql_num_rows сообщает вам, сколько строк было возвращено в результатах запроса ($ rel), оно не сообщает вам, в какой строке вы находитесь.
Вместо рассмотреть возможность использования переменного счетчика:
$rel=mysql_query("SELECT * FROM b_topics WHERE MATCH (subject) AGAINST('$title') LIMIT 4");
if(mysql_num_rows($rel)<0) {
echo ""
}
else {
$counter = 0;
echo "<div style='text-align: center; font-weight: bold; margin: 10px'>Related Topics</div>";
while($rel2=mysql_fetch_assoc($rel)) {
$counter++;
if($counter==1)
echo" yes";
elseif($counter==2)
echo "no yes";
elseif($counter==3)
echo "yes yes";
elseif($counter==4)
echo" wmjayes";
$reltitle=$rel2["subject"];
$relid=$rel2["id"];
echo" <a href='showtopic.php?id= $relid'>$reltitle>$counter</a><br>";
}
}
Кроме того, чтобы сделать ваш код немного быстрее рассмотреть возможность использования elseif
или else if
вместо нескольких if
заявлений. Вы также можете посмотреть в инструкции PHP switch
для альтернативы.
Кроме того, две вещи, которые вы не должны делать:
1) Не используйте функции MySQL, либо использовать Mysqli или PDO функции. Функции mysql в PHP устарели и больше не должны использоваться.
2) Не используйте <br>
для добавления интервалов. Кроме того, элемент элемента блока (например, div) не может отображаться в встроенном элементе (например, сильном). Для обоих из них вместо этого используйте CSS. Я изменил это для использования встроенного CSS, но в конечном итоге вы должны поместить его во внешний файл CSS.
При отправке кода вставьте его со всеми исходными пробелами/отступом в неповрежденном виде, выделите и используйте кнопку панели инструментов '{}' или 'ctl-k', чтобы отформатировать ее как кодовый блок. –
В чем проблема? Это ваше требование. На самом деле это не вопрос. –
Пожалуйста, задайте новый вопрос, а не измените существующий вопрос. – kojow7