我有一个mysql查询:
$result = mysql_query("SELECT * FROM $table WHERE cat = 'category'");
while($row = mysql_fetch_array($result)) {
echo '
<hgroup><h3>'.$row['mag'].'</h3><h4>'.$row['date'].'</h4></hgroup>
<a href="'.$row['href'].'" onclick="this.target=\'blank;\'">'.$row['title'].'</a>
';
}
此查询通常会选择2到5个不同的行,并将它们显示在列表中。
我希望第一个回显线只出现一次,第二行应该出现在2到5之间,具体取决于我的数据库中的数据。
我确信有一种简单的方法可以做到这一点,我尝试了GROUP BY mag,但这将消除我希望显示的剩余1-4段数据。
答案 0 :(得分:0)
不确定我理解你的问题,因为以下解决方案似乎太简单了!
$row = mysql_fetch_array($result);
echo '<hgroup><h3>'.$row['mag'].'</h3><h4>'.$row['date'].'</h4></hgroup>
<a href="'.$row['href'].'" onclick="this.target=\'blank;\'">'.$row['title'].'</a>';
while ($row = mysql_fetch_array($result)) {
echo '<a href="'.$row['href'].'" onclick="this.target=\'blank; \'">'.$row['title'].'</a>';
}
答案 1 :(得分:0)
这可能是您解决问题的方法吗?
$lines = '';
unset($hgroup);
$result = mysql_query("SELECT * FROM $table WHERE cat = 'category'");
while($row = mysql_fetch_array($result)) {
if (!isset($hgroup)) {
$hgroup = '<hgroup><h3>'.$row['mag'].'</h3><h4>'.$row['date'].'</h4></hgroup>';
}
$lines += '
<a href="'.$row['href'].'" onclick="this.target=\'blank;\'">'.$row['title'].'</a>
';
}
echo $hgroup.$lines;