我似乎无法找到我的错误,我的下拉列表是空的,但是当我执行print_r($ data)时,数组中有值。 我的代码:
<?php $sql = "SELECT p.firstname, p.lastname from person p where p.personid >= :personid";
$array = array('personid' => 75101);
$sth = $dbh->prepare($sql);
if($sth->execute($array)) {
$data = $sth->fetchAll();
} ?>
<tr><td style="width:120px;">Contact Person</td>
<td>
<select>
<?php foreach ($data as $key => $value) { ?>
<option value=" <?php $key; ?>" > <?php $value ?> </option>
<?php } ?>
</select>
</td>
有人可以帮忙吗? 感谢
答案 0 :(得分:0)
试试这个
<?php foreach ($data as $key => $value) { ?>
<option value=" <?php echo $key; ?>" > <?php echo $value; ?> </option>
<?php } ?>
答案 1 :(得分:0)
您无法使用echo打印变量,忘记打印$key
和$value
,
变化
<option value=" <?php $key; ?>" > <?php $value ?> </option>
与
<option value=" <?php echo $key; ?>" > <?php echo $value; ?> </option>
答案 2 :(得分:0)
试试这个......
<?php $sql = "SELECT p.firstname, p.lastname from person p where p.personid >= :personid";
$array = array('personid' => 75101);
$sth = $dbh->prepare($sql);
if($sth->execute($array)) {
$data = $sth->fetchAll();
} ?>
<tr><td style="width:120px;">Contact Person</td>
<td>
<select>
<?php foreach ($data as $key => $value) { ?>
<option value=" <?php echo $key; ?>" > <?php echo $value; ?> </option>
<?php } ?>
</select>
</td>
答案 3 :(得分:0)
您不是打印变量。仅在您的代码中使用。 如果您需要短标签,请尝试以下代码:
<?php foreach ($data as $key => $value) { ?>
<option value="<?=$key;?>"><?=$value["firstname"]." ".$value["lastname"];?></option>
<?php } ?>
但是,如果您的服务器上的短标记已停用,请尝试以前重播的代码,只有$value
个变量会替换为$value["firstname"]
。