基本上我在我的数据库中有文章,我想改变第一条记录的显示方式.我希望最新(已发布)文章成为焦点,而旧文章只是为了列出,(参见F1.com).我需要知道如何在数组中获取我的第一个值,并让它以不同的方式显示,但我不知道如何做到这一点,我可以这样做所以所有行显示相同而不是如何改变第一行.我还需要知道如何告诉其余的行显示相同的事后我猜你在那里使用if语句,然后在那之前对行进行某种计数.
$result = mysql_query("SELECT * FROM dbArticle WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC"); while($row = mysql_fetch_array($result)) { echo "". $row['title'] ."
"; echo "By: ".$row['username']." Type: ".$row['type']." Posted: ".$row['timestamp']." $body = $row['body']; echo ""; echo substr("$body",0,260); echo "...Read More
"; } mysql_close($con);
好吧,我已经采取了Luke Dennis的代码并试图测试它,但我收到此错误:警告:为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来设置阵列?
我只是遍历结果并将css类应用于第一个条目:
$first = true; while ($row = mysql_fetch_assoc($result)) { $cssClass = ''; if ($first) { $cssClass = 'highlight'; } echo '' . $row['text'] . '
'; $first = false; }
它有点粗糙,但我经常硬编码变量来指定第一次循环.所以类似于:
$first = true; foreach($list_of_items as $item) { if($first) { // Do some stuff $first = false; } else { // Do some other stuff } }