我正在尝试创建一个表单选择语句,其中包含使用此循环创建的选项,如下所示:
<div class="form-group">
<label for="inputType" class="col-md-4 control-label">Type: <span class="error">*</span></label>
<div class="col-md-8">
<select class="form-control" name="type" id="inputType">
<option value="" >Select:</option>
<?php
for ($row = 0; $row < 4; $row++) {
echo '< option value= ' . '"' .$result[$row][1] . '"';
if ($type == $result[$row][1] ){
echo ' selected ';
}
echo '>' . $result[$row][1] . '< /option ><br>';
}
?>
</select><span class="error"><?=$typeErr;?></span>
</div>
</div>
</div>
如果我在PDO select语句之后使用完全循环,但在html <head>
标记之上:
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT ptype.* FROM ptype");
$stmt->execute();
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$result = $stmt->fetchAll();
for ($row = 0; $row < 4; $row++) {
echo '< option value= ' . '"' .$result[$row][1] . '"';
if ($type == $result[$row][1] ){
echo ' selected ';
}
echo '>' . $result[$row][1] . '< /option ><br>';
}
输出完美,如下:
< option value= "member">member< /option >
< option value= "org employee">org employee< /option >
< option value= "org admin employee">org admin employee< /option >
< option value= "org admin member">org admin member< /option >
但是在表单中,我在选择字段中输入了nada。我有点工作。它正在填充下拉列表,但它给了我错误的价值观。由于我已经尝试修复它,我无法在现场获得任何东西。
这让我疯了!
答案 0 :(得分:0)
摆脱开放标记及其名称之间的空格
echo '<option value= '
再次关闭标签
echo '>' . $result[$row][1] . '</option ><br>';
答案 1 :(得分:0)
你可以试试这个:
<?php
for ($row = 0; $row < 4; $row++) {
?>
<option value='<?php echo $result[$row][1]; ?>' <?php if ($type == $result[$row][1] ){ echo 'selected="selected"'; } ?>>
<?php echo $result[$row][1]; ?>
</option>
<?php
}
?>
它将完美地满足您的要求。 感谢