[英]How to bind MySQL data to dynamically created Form Elements
我有一些動態創建的表單元素集,可用於頁面創建。
<?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
)
讓我們假設$ 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 }
}?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.