В основном у меня есть статьи в моей базе данных, и я хочу изменить способ отображения первой записи. Я хочу, чтобы в центре внимания была последняя (опубликованная) статья, а более старая статья просто в списке (см. F1.com ). Мне нужно знать, как получить первое из моих значений в массиве и заставить его отображаться по-разному, но я не уверен, как это сделать, я могу сделать так, чтобы все строки отображали одно и то же, но не как изменить первый ряд. Мне также нужно знать, как указать остальным строкам отображать то же самое впоследствии, я предполагаю, что вы используете оператор if там и до этого какой-то счетчик для строк.
Текущий код:
$result = mysql_query("SELECT * FROM dbArticle WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC");
while($row = mysql_fetch_array($result))
{
echo "<h2 class=\"heading1\">". $row['title'] ."</h2>";
echo "By: ".$row['username']." Type: ".$row['type']." Posted: ".$row['timestamp']."
$body = $row['body'];
echo "<br/><p>";
echo substr("$body",0,260);
echo "...<span class=\"tool\"><a class=\"blue\" href=\"index.php?pageContent=readArticle&id=".$row['id']."\">Read More</a></span></p><hr/>";
}
mysql_close($con);
Хорошо, я взял код Люка Денниса и попытался его проверить, но я получаю эту ошибку: Предупреждение: указан неверный аргумент для foreach () Это строка в выражении foreach. Что-то, что только что пришло в голову, - то, что я хочу только 5 или около того более старых статей, чтобы показать. Вот что у меня есть, создавая ошибку:
<? $con = mysql_connect("localhost","****","***");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("******", $con);
$result = mysql_query("SELECT * FROM dbArticle ORDER BY timestamp DESC");
$first = true;
foreach($result as $row){
if($first)
{
echo"".$row['title']."";
echo"this is the headline";
$first = false;
}
else
{
echo"".$row['title']."";
}
}
?>
Нужно ли где-нибудь добавить mysql_fetch_array, чтобы настроить массив?