循环依赖于rowCount而

时间:2016-03-26 00:34:17

标签: php loops pdo

我在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,但是我没有得到逻辑。

我很欣赏这个问题的一些逻辑或建议。

1 个答案:

答案 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。未经测试;但是你明白了。