在pdo数组中使用变量

时间:2012-11-20 17:20:03

标签: php mysql pdo

简单的问题,我想。

我有以下pdo语句:

$sth = $db->prepare("SELECT person,job FROM orgstructure where department=:dept order by id asc"); 
$sth->bindParam(':dept', $departmentname, PDO::PARAM_STR); 
$sth->execute(); 
$dataArray = $sth->fetchAll();
echo $dataArray[0]['person'];
echo $dataArray[1]['job'];

两个回声是要测试的,它们100%工作。

稍后在我的表单中,我有一个for loop,我根据pdo的输出提供了选择框选项,如下所示:

<table>
<?
    for ( $i = 1; $i <=50; $i++ ) { 

        ?>      
            <tr>
                <td> Job <? echo  $i; ?></td>
                <td>
                    <SELECT NAME=job<? echo $i; ?> id=job<? echo $i; ?> style="width:150px;border: 1px solid #2608c3;color:red"> 
                    <? echo  "<option selected>".$dataArray[$i]['job']."</option>"; ?>
                    <option>
                    <?=$optionjobs?> 
                    </option>
                    </SELECT>
                </td>
                <td> Person </td>
                <td>
                <? echo $i."person: ".$dataArray[$i]['person']."job: ".$dataArray[$i]['job']; ?>

                    <SELECT NAME=person<? echo $i; ?> id=person<? echo $i; ?> style="width:150px;border: 1px solid #2608c3;color:red">
                    <? echo  "<option selected>".$dataArray[$i]['person']."</option>"; ?>               
                    <option>
                    <?=$optionpersons?> 
                    </option>
                    </SELECT>
                </td>
            </tr>
        <?
            }
        ?>
</table>

然而,这不起作用。 select语句是正确的,如果我用文本替换$ dataarray就可以了。

我假设问题是在$ dataArray中使用$ i计数器?有什么建议吗?

一如既往地谢谢,

1 个答案:

答案 0 :(得分:1)

试试这个代码,在我的机器上工作

<?php
    for ( $i = 1; $i <=50; $i++ ) { 

        ?>      
            <tr>
                <td> Job <?php echo  $i; ?></td>
                <td>
                    <SELECT NAME=job<?php echo $i; ?> id=job<?php echo $i; ?> style="width:150px;border: 1px solid #2608c3;color:red"> 
                    <?php echo  "<option selected>".$dataArray[$i]['job']."</option>"; ?>
                    <option>
                    <?php echo $optionjobs ?> 
                    </option>
                    </SELECT>
                </td>
                <td> Person </td>
                <td>
                <?php echo $i."person: ".$dataArray[$i]['person']."job: ".$dataArray[$i]['job']; ?>

                    <SELECT NAME=person<?php echo $i; ?> id=person<?php echo $i; ?> style="width:150px;border: 1px solid #2608c3;color:red">
                    <?php echo  "<option selected>".$dataArray[$i]['person']."</option>"; ?>               
                    <option>
                    <?php echo $optionpersons ?> 
                    </option>
                    </SELECT>
                </td>
            </tr>
        <?php
            }
        ?>
</table>