简单的问题,我想。
我有以下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计数器?有什么建议吗?
一如既往地谢谢,
答案 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>