循环的数据放置到单元格中出现错误,请大家指点!

chendynasty 2005-12-16 11:38:20
代码如下
$number="10";/*表格每行的单元格数目*/
$line=$totalrows/$number;
$line_number=ceil($line);/* 取得总行数*/
echo "<table border=1>";
for ($i=1;$i<=$line_number;$i+=1)
{
echo "<tr>";
for ($td=1;$td<=$number;$td+=1)
{
echo "<td>";
for ($name=1;$name<=$number;$name+=1)
{
echo $query_result_rows['true_name'];
}
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
我想实现的是$query_result_rows['true_name']变量中的名字放置到每一个单元格中
我知道上面的代码肯定有问题
那位帮忙看看
先谢谢了!
...全文
120 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SuperBJack 2005-12-16
  • 打赏
  • 举报
回复
这段有好大问题:自己细想下是做什么用的。

for ($name=1;$name<=$number;$name+=1)
{
echo $query_result_rows['true_name'];
}
johnpanq 2005-12-16
  • 打赏
  • 举报
回复
不是很明白你的意思!是不是这样?
$number="10";/*表格每行的单元格数目*/
$line=$totalrows/$number;
$line_number=ceil($line);/* 取得总行数*/
echo "<table border=1>";
$name = 0;//数组循环变量
for ($i=1;$i<=$line_number;$i+=1)
{
echo "<tr>";
for ($td=1;$td<=$number;$td+=1)
{
echo "<td>";
echo $query_result_rows[$name]['true_name'];
$name++;
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
xuzuning 2005-12-16
  • 打赏
  • 举报
回复
哦,你是从数据库里读啊。为什么不早说呢?

.....
$query_result=mysql_query($true_name_query, $link_message) or die(mysql_error());
// $query_result_rows=mysql_fetch_array($query_result); //这句不要
$totalrows=mysql_num_rows($query_result);
echo "总人数为".$totalrows."<br>";
$number="10";/*表格每行的单元格数目*/
$line=$totalrows/$number;
$line_number=ceil($line);/* 取得总行数*/
echo "<table border=1>";
for ($i=1;$i<=$line_number;$i+=1)
{
echo "<tr>";
for ($td=1;$td<=$number;$td+=1)
{
echo "<td>111";
$query_result_rows=mysql_fetch_array($query_result);//放在这里
if($query_result_rows)
echo $query_result_rows['true_name'];
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
chendynasty 2005-12-16
  • 打赏
  • 举报
回复
$query_result_rows[$i*$number+$td]['true_name'];
如果不加[$i*$number+$td]光光是$query_result_rows['true_name'];
那么能取到名字但是都是相同的第一个名字
如果是完整的$query_result_rows[$i*$number+$td]['true_name'];
那么取得的值为空
以下是我的源码
<?php
$class=$HTTP_GET_VARS['class'];
$class1='2005'.$class.'%%';
include ("../link.inc");
mysql_select_db($database,$link_message);
$true_name_query="select * from stuinfo where xueji LIKE '$class1'";
$query_result=mysql_query($true_name_query, $link_message) or die(mysql_error());
$query_result_rows=mysql_fetch_array($query_result);
$totalrows=mysql_num_rows($query_result);
echo "总人数为".$totalrows."<br>";
$number="10";/*表格每行的单元格数目*/
$line=$totalrows/$number;
$line_number=ceil($line);/* 取得总行数*/
echo "<table border=1>";
for ($i=1;$i<=$line_number;$i+=1)
{
echo "<tr>";
for ($td=1;$td<=$number;$td+=1)
{
echo "<td>111";
echo $query_result_rows[$i*$number+$td]['true_name'];
echo "</td>";
}
echo "</tr>";
}
echo "</table>";

?>
代码中<td>后面的11是我为了方便清楚的调试而胡乱加的。
chendynasty 2005-12-16
  • 打赏
  • 举报
回复
echo $query_result_rows[$i*$number+$td]['true_name'];
这个我也认为很对
但是还是取不到值
xuzuning 2005-12-16
  • 打赏
  • 举报
回复
echo "<table border=1>";
for ($i=1;$i<=$line_number;$i+=1)
{
echo "<tr>";
for ($td=1;$td<=$number;$td+=1)
{
echo "<td>";
echo $query_result_rows[$i*$number+$td]['true_name'];
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
$query_result_rows需要有如下格式的数据
[0]['true_name'] = ‘...';
[1]['true_name'] = ‘...';
[2]['true_name'] = ‘...';
.....
[n]['true_name'] = ‘...';
chendynasty 2005-12-16
  • 打赏
  • 举报
回复
http://bbs.chinaunix.net/attachments/month_0512/aaa_PaV0atXoQmcY.png
按照johnpanq(飞花逐月) 你的代码出现的结果如山
和我原来的代码所出现的结果基本一样
但是我需要表格的单元格中的名字是不同的。
chendynasty 2005-12-16
  • 打赏
  • 举报
回复
johnpanq(飞花逐月)

我的意图是这样的
我在数据库中有很多学生的名字
那现在我想按照班级的不同把同一班级的学生的名字都取出来
然后按照每行10位同学把他们的名字分别放置到每个单元格中
chendynasty 2005-12-16
  • 打赏
  • 举报
回复
for ($name=1;$name<=$number;$name+=1)
{
echo $query_result_rows['true_name'];
}
是我后来添加上去的
本来我的源码中并没有这个第三重循环的。
这是一位网友发我的
但是也不成功。

21,891

社区成员

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

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