PHP MYSQL中如何实现以横向排列呀

ba0011 2005-06-24 12:19:22
如何让MYSQL中的ID以横向排列,当只有一个时只显示一个.有三个时显示三个.如:ID:1;ID:2;ID3.多于三个时则换行又重新显示多出的那一个呀?就像是http://jx.17173.com/picsent/ 这个网站中排列的方法.

请大家指点一下.谢谢了.如果我写到table里面啊,每行三格,每个td放一个.这样的话会不会td里面显示出来的都是一样的呀?

再次谢谢了
...全文
340 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jzealot 2005-06-27
  • 打赏
  • 举报
回复
模板库用的是smarty
Jzealot 2005-06-27
  • 打赏
  • 举报
回复
我用的是mssql
可以改成mysql的
uhopenet 2005-06-25
  • 打赏
  • 举报
回复
高绝对是高
fyxw 2005-06-24
  • 打赏
  • 举报
回复
这个和是否mysql没关系,只是一个最基本的循环,在循环内作一个判断:当所读数据数字下标除以你每行想显示的条数正好能整除的时候就echo一个<tr>也就相当于回行。
如:
显示数据为$array[]
循环:for ($i=0; $i<count($array); $i++){
if ($i%3==0)
echo "<tr>";
echo "<td>……</td>";
}
Jzealot 2005-06-24
  • 打赏
  • 举报
回复
<?php
//-------------------------------------------------------------------------------
// 游戏类别菜单输出
//-------------------------------------------------------------------------------
$toprs = mssql_query("select id,gamename,dbo.getCorpSort(id_company) as corpsort from type_game where isshow=1 order by corpsort,sortno");
$recount = mssql_num_rows($toprs); //总游戏个数
$sizeline = 12;//每行放置个数
$linecount = ceil($recount/$sizeline); //行数
$maxline = 4;//最大显示行数
$hotcount = 7;//热门点击个数

//一周内点击次数最多的游戏
$hotdjsql = "select top ".$hotcount." id_game,count(id_game) as num from game_dj_count where dj_time >=dateadd(day,-7,getdate()) and dj_time <=getdate() group by id_game order by num desc";
$hotdjrs = mssql_query($hotdjsql);

$i = 0;
while($row = mssql_fetch_array($hotdjrs))
$hot[$i++] = $row["id_game"];



if ($linecount>$maxline)
{
$linecount = $maxline;
$isexceed = true;//是否超过最大行
}


for ($i= 0; $i<$linecount; $i++)
{
$num = 0;
$line_rss[$i] = array("fuuck" => "fuuck");
while ( $row = mssql_fetch_array($toprs) )
{
$gamename = $row["gamename"];
for ($j = 0; $j<$hotcount; $j++)
if($row["id"]==$hot[$j])
{
$gamename = "<font color=red>".$gamename."</font>";
break;
}

$line = true;
if (($num+1)%$sizeline==0 || $num+1==$recount)
$line =false;
if ($i==$maxline-1 && $num==$sizeline-1 && $isexceed)
$game_rss[$i][$num] = array("ss_id" => "all", "ss_name" => "<font color=red>更多...</font>", "line" => $line);
else
$game_rss[$i][$num] = array("ss_id" => $row["id"], "ss_name" => $gamename, "line" => $line);
if (!$line)
break;
$num = $num + 1;
}
}

$smarty -> assign("line_rss", $line_rss);
$smarty -> assign("game_rss", $game_rss);
?>
Jzealot 2005-06-24
  • 打赏
  • 举报
回复
双重循环输出
Jzealot 2005-06-24
  • 打赏
  • 举报
回复
不好意思,我以为是横向输出图片呢,这种横向排列菜单我做过,我用的是二维数组
回家后发给你,公司没得
ba0011 2005-06-24
  • 打赏
  • 举报
回复
显示数据为$array[]
循环:for ($i=0; $i<count($array); $i++){
if ($i%3==0)
echo "<tr>";
echo "<td>……</td>";
}

那如何显示数据库里的内容呢?"<td>……</td>";中的......是什么意思呀?
显示内容的话是不是还要<td><? rehc $a ?></td>呀~还是....?
这些代码是不是要加到<td></td>中?
我好菜呀,。指点一下
Jzealot 2005-06-24
  • 打赏
  • 举报
回复
用div+css控制,方便得很
Jzealot 2005-06-24
  • 打赏
  • 举报
回复
不用table
全用div吧
zgld 2005-06-24
  • 打赏
  • 举报
回复
同意楼上,只是一个循环问题.
你把查询出来的数据,循环输出"<tr>"和"<td>"标签就可以了.

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧