我在fetch中需要循环td。
td循环取决于第一个查询中的rowCount变量。
<?php include'../db/dbConnect.php';
$_GET['tb'];
$t=$_GET['tb'];
$q=$con->prepare("desc $t");
$q->execute();
$h=$q->rowCount(); ?>
<table>
<tr>
<?php while($r=$q->fetch(PDO::FETCH_NUM)){ ?>
<th><?php echo $r[0];?></th>
<?php } ?>
</tr>
<?php
$q=$con->prepare("select*from $t");
$q->execute();
while($r=$q->fetch(PDO::FETCH_NUM)){
$d=$r[0];
?>
<tr>
<td><?php echo $d;?></td>
</tr>
<?php } ?>
</table>
上面的代码给出了结果:
col1 col2 col3
12
13
14
但我需要结果:
col1 col2 col3
12 vala x
13 valb y
14 valc z
必须给td取决于rowCount变量。
我之前尝试过使用while来循环td,但是我没有得到逻辑。
我很欣赏这个问题的一些逻辑或建议。
答案 0 :(得分:0)
您正在提取多行:
$r=$q->fetch(PDO::FETCH_NUM)
然后只显示第一列:
$d=$r[0];
<tr>
<td><?php echo $d;?></td>
</tr>
尝试这样的事情:
while( $r=$q->fetch(PDO::FETCH_NUM) )
{
?>
<tr>
<?php
foreach( $r as $colIdx => $column )
{
?>
<td><?php echo $column;?></td>
<?php
}
<?
</tr>
<?php
}
NB。未经测试;但是你明白了。