我有一些动态创建的表单元素集,我在页面创建时使用它们。
<?php for ($i=0;$i<6;$i++){ ?>
<div id="hold">
<input type="text" name="slinks<?php echo $i; ?>" value="<?php echo $slinks[$i]; ?>" placeholder="Input Link Name" />
<select name="cat<?php echo $i; ?>">
<option value="" selected="selected">Select Category</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
</select>
<div class="clear"></div>
</div>
<?php } ?>
我可以将值插入MySQL数据库。我想在页面编辑中将值填充到这些字段中。 我的问题是如何将值绑定到表单元素,假设我的数据库将样本值提取为:
<?php
$query = $dhb->prepare("SELECT * FROM table2 WHERE $col = ?");
$query->execute(array($id));
$amt = $query->rowCount();
$rows = $query->setFetchMode(PDO::FETCH_NUM);
while($z = $query->fetch()){
print_r($z);
}
?>
print_r()的输出
Array
(
[0] => 3
[1] => Item3
)
Array
(
[1] => 1
[2] => Item1
)
Array
(
[0] => 2
[1] => Item2
)
答案 0 :(得分:1)
假设$ edit = true,表示它处于编辑模式。那么你的PHP代码将是.. 假设你曾经设置过不同的
<?php
$query = $dhb->prepare("SELECT * FROM table2 WHERE $col = ?");
$query->execute(array($id));
$index = array();
$value = array();
$amt = $query->rowCount();
$rows = $query->setFetchMode(PDO::FETCH_NUM);
while($z = $query->fetch()){
print_r($z);
$index[] = $z[0];
$value[$z[0]] = $z[1];
}
?>
你的html代码将是......
<?php if($edit && is_array($index) && is_array($value)){
$flagForNewField = false;
for ($i=0;$i<6;$i++){
if(in_array($i,$index){ ?>
<div id="hold">
<input type="text" name="slinks<?php echo $i; ?>" value="<?php echo $slinks[$i]; ?>" placeholder="Input Link Name" />
<select name="cat<?php echo $i; ?>">
<option value="" selected="selected">Select Category</option>
<option value="1" selected="<?php if($i==1){echo "selected";}else{} ?>">Item 1</option>
<option value="<?php if($i==2){echo "selected";}else{} ?>">Item 2</option>
<option value="<?php if($i==3){echo "selected";}else{} ?>">Item 3</option>
</select>
<div class="clear"></div>
</div>
<?php
}else{
$flagForNewField = true;
// ccase if input in not in fetched result
}
}
}else{
for ($i=0;$i<6;$i++){ ?>
<div id="hold">
<input type="text" name="slinks<?php echo $i; ?>" value="<?php echo $slinks[$i]; ?>" placeholder="Input Link Name" />
<select name="cat<?php echo $i; ?>">
<option value="" selected="selected">Select Category</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
</select>
<div class="clear"></div>
</div>
<?php }
}?>