0

简单的问题,我想。

我有以下 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>

然而,这不起作用。如果我用文本替换 $dataarray,select 语句是正确的并且有效。

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

一如既往地感谢,

4

1 回答 1

1

Try this code, worked on my machine

<?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>
于 2012-11-20T18:43:47.863 回答