请教:php读取数据库成表格分列

数据库的表lianjie结构字段如下:

id,link,title,leibie
(id,链接,链接名称,链接类别)

现在要读出来,制成表格,function如下($num是读取的链接类别,如娱乐类的链接),

function links_show($num)
{
global $db;
$sql="select id,link,title from lianjie where typeid='$num' order by id desc";
$titles = mysql_query($sql);
while($title =mysql_fetch_row($titles))
{
………………
$ddd=$title[2];
………………
echo "<td> <a href=\"$title[1]\" target=\"_blank\">$ddd</a></td>";

……………………
}

省略号部分我不会写,

如果表格要隔四个td就分成一个tr,应该怎么写呢,我只知道要用for之类,但具体实现不清楚,谢谢各位大侠啦!如果有更好的写法请指教,加分送上!

还有如果要根据多个条件order by,查询语句要怎么写呢?如根据时间:time,点击:hits,审核时间pass_time等等。。谢谢!
感谢阳光上的桥,问题基本解决,但还是有点细节无法解决,就是不能完整地显示<tr></tr>,因为换行语句只有:echo '<tr>';

请问这个细节问题可否有比较好的解决方法?

第1个回答  2009-12-23
与SQL无关,怎么ORDER BY都没关系,下面的语句都是适用的:

$i=0;//已经输出的数据个数
echo '<table>';
while($title =mysql_fetch_row($titles))
{
//第一个地方………………下面的4表示每行显示四个
if ($i % 4==0) echo '<tr>';
$ddd=$title[2];
//第二个地方………………
$i++;
echo "<td> <a href=\"$title[1]\" target=\"_blank\">$ddd</a></td>";
//这里无需处理……………………
}
第2个回答  2009-12-23
楼主,把代码改成这样就行了:

function links_show($num)
{
global $db;
$sql="select id,link,title from lianjie where typeid='$num' order by id desc";
$titles = mysql_query($sql);

echo "<table border=1>";

echo "<tr><th>ID</th><th>Link</th><th>Title</th></tr>";

$i=0;

while ($title=mysql_fetch_row($titles))
{

if($i%3==0) echo "<tr>";

while ($i<=1)
{
printf("<td>%s</td>",$title[$i]);
$i++;
}

echo "<td> <a href=\"$title[1]\" target=\"_blank\">$title[$i]</a></td>";

echo "</tr>";
$i=0;

}

echo "</table>";
第3个回答  2009-12-23
从while循环开始替换下列代码(标签该封口时就封口)

echo '<table border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse">';
while($title =mysql_fetch_row($titles)){
if ($i % 4==0){
if ($j==0) echo '<tr>';
else echo '</tr><tr>';
$j++;
}
$i++;
echo "<td> <a href=\"$title[1]\" target=\"_blank\">$title[2]</a></td>";

}
if ($i % 4!=0) echo '</tr>';
echo '</table>';本回答被提问者采纳
第4个回答  2009-12-23
太难了啊

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网