我有以下代码来显示每个类别的一些品牌。
<?
$con = mysql_connect("localhost","baba","passsss");//database connection
mysql_select_db("gr_brands_igi") or die(mysql_error());
mysql_set_charset('utf8',$con);
$query = "SELECT * FROM brands ORDER BY category_anchor ASC, brand_anchor ASC";
$result = mysql_query($query);
$lasteventname = "";
echo "<table border='0' width='100%' cellspacing='0' cellpadding='0'>";
$cell_ctr = 0;
while($row=mysql_fetch_array($result))
{
if($row[0] != $lasteventname){
$title = $row[0];
$lasteventname = $row[0];
echo "<tr><td colspan=5><h2>$title</h2></td></tr>";
}
if(($cell_ctr % 5) == 4) // 2 is the number of columns
{
echo"</tr>";
echo "<tr>";
$cell_ctr = 0;
}
echo "<td align='justify' cellspacing='2' cellpadding='2'>";
echo "<h3><a href='http://www.example.com/search/search.asp?txtsearch=$row[2]&catg=$row[3]&intitleanddesc=1&isnavbarsearch=1&gallery=1'>" . $row[2] . "</a></h3>";
echo "</td>";
$cell_ctr++;
}
if($cell_ctr == 1)
{
echo "</tr>";
}
else if($cell_ctr == 2)
{
echo "</tr>";
}
echo"</table>";
?>
现在显示此
宝石
但是我想按照这样的列顺序订购:
宝石
数据库中的字段为:
category_anchor
keyword
brand_anchor
category_id
我只有一个while循环,而$ lasteventname只打印一次
任何想法?
答案 0 :(得分:2)
是否需要成为一张桌子?对于我的想法,我将使用列表项
<?php
$result = mysql_query($query);
$rows = mysql_num_rows($result);
$i = 0;
echo '<ul>';
while($row=mysql_fetch_array($result))
{
if (($i % 4) == 0 && $i > 0) {
echo '</ul><ul>';
}
echo '<li><h3>your code</h3></li>';
$i++;
}
echo '</ul>';
?>
结果将是这样的,然后您可以根据需要将其设置为表格
<div class="banner">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<ul>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
</ul>
</div>