我试图在单次迭代中获得两个数据行:
$query = mysql_query("SELECT * FROM tbl_website_index")or die(mysql_error());
while($row = mysql_fetch_assoc($query)){
//returns single row`
}
在html表中
单行2条数据线
<tr>
<td>data 1</td>
<td>data 2</td>
</tr>
答案 0 :(得分:0)
首先将所有数据放入数组中。然后组成该数组的多维数组。所以你可以在每个单独的键中推两行。
while($row = mysql_fetch_assoc($query)){
$data[] = $row;
}
$last_data = array();
$key = 0;
for($i=0;$i<sizeof($data);$i++) {
if($i%2 == 0)
{
$key++;
}
$last_data[$key][] = $data[$i];
}
然后你可以迭代html表。
<?php foreach ( $last_data as $key => $row) { ?>
<tr>
<?php foreach ( $row as $k => $row1) { ?>
<td> <?php echo $row1['field'] ?></td>
<?php } ?>
</tr>
<?php } ?>
(建议使用mysqli_ *而不是mysql_ *来保持代码使用不推荐使用的扩展名。)
答案 1 :(得分:0)
我不确定你是否想要这个,但请尝试:
<tr>
<?php
$query = mysql_query("SELECT * FROM tbl_website_index")or die(mysql_error());
while($row = mysql_fetch_assoc($query)){
?>
<td><?php echo $row['col'] ?></td>
<?php
}
?>
答案 2 :(得分:0)
首先 - 请不要使用mysql_query而是使用PDO。 其次 - 你永远不会这样做。有一些方法可以使用引用(next())实现这一点。但那非常糟糕。因此,我建议这样的事情:
$query = $this->db->prepare("select * from tbl_website_index");
$query->execute();
$data = array();
while ($row = $query->fetch(PDO::FETCH_OBJ))
{
$data[] = $row->fieldName;
}
$data = "<li>" . implode("</li><li>", $data) . "</li>";
print "<ul>" . $data . "</ul>";
这将实现您的目标。我没有测试过它。