<?php
$q=select * from students where (dynamic for user searching)
$qry=mysql_fetch_array($q);
while($row=mysql_fetch_array())
{
**// i do not need data here?**
}
?>
< table>
< tr>< td><?php echo **$row[?][?];** ?>< /td>< td><?php echo **$row[?][?];** ?>< /td>...< /tr>
< tr>< td><?php echo **$row[?][?];** ?>< /td>< td><?php echo **$row[?][?];** ?>< /td>...< /tr>
....
< /table>
需要以html表格式生成动态报告 html表行和列对结果是静态的 所以我不能在while循环中使用echo 我必须在循环时访问它 我有一个想法,分别为表的每个单元格选择单行单列 但这将耗费时间和长度 任何替代方案或解决方案?
答案 0 :(得分:4)
您不必使用while循环。您可以根据需要获取数据。
$row1 = mysql_fetch_array($qry);
$row2 = mysql_fetch_array($qry);
我不喜欢这样做因为你必须跟踪资源(在这种情况下为$ qry)并且你必须继续输入mysql_fetch _ *()所以我倾向于在我之前将结果加载到数组中使用它们。
$result = array();
while($row=mysql_fetch_object($qry))
{
$result[] = $row;
}
答案 1 :(得分:1)
在循环中构建表,然后将其回显到页面。例如,如果您要构建一个表,其中每行都有一个用户的ID和名称,它将如下所示:
$table = "";
while($row=mysql_fetch_array($qry)) {
$tablerow = "<tr><td>" . $row['id'] . "</td><td>" . $row['name'] . "</td></tr>";
$table .= $tablerow;
}
// you've built a string with the entire table. Now write it to the page.
echo($table);
在while循环之外构建表通常是一个坏主意,因为你重复了很多代码而你不知道需要输入多少行。但是如果你真的想这样做的话你在问题中展示了(也许是因为你只想要查询中的某些特定行?),在你的while循环中构建一个数组,然后引用它之外的那个数组。
$results = array();
while($row=mysql_fetch_array()) {
$results[] = $row;
}
然后,您可以使用<td><?php echo($results[0]['id']) ?></td>
写入包含第一个用户ID号的单元格,依此类推。