在設計使用者資訊提交頁面時,會用到這樣的下拉表單來選擇,表單通過post提交寫入到資料庫,這些都沒問題。但是如果要修改資料時,怎麼樣才能實現打開修改頁面表單選中的就是上次使用者提交的數據呢?還有checkbox表單的值,如何控制其選中的值為上次使用者提交的值呢?
正常來說,你一般在編輯時,一定都會帶你要編輯的資料進來才對。
這邊因為你的程式碼是用圖片的。我就懶的打字了。只做說明。
正常來說。我有發現你有用了key值變數化。
實際情況我並不太清楚。畢竟看不到你資料帶進來的情況為何。
但就你目前的寫法就可以算是ok的。除非是你帶錯參數了。
不過這邊會建議你單純一行時。不要直接用if。
最好還是用三元判斷式的寫法
如
<select>
<option <?php ehco $type == 1 ? 'selected' : ''; ?> value="1">AAAA</option>
<option <?php ehco $type == 2 ? 'selected' : ''; ?> value="1">BBBB</option>
</select>
有時候選項值比較多的話。我會比較喜歡另外帶值回圈處理
<?php
$select[0]="";
$select[1]="AAA";
$select[2]="BBB";
$select[3]="CCC";
$select[4]="DDD";
$select[5]="EEE";
?>
<select>
<?php foreach($select AS $value => $str):?>
<option <?php ehco $type == $value ? 'selected' : ''; ?> value="<?php echo $value;?>"><?php echo $str;?></option>
<?php endforeach;?>
</select>
<select>
<?
foreach($select as $key => $value){
if($_POST['type'] == $value){
echo "<option selected value='$value'>$key</option>";
}else{
echo "<option value='$value'>$key</option>";
}
}
?>
</select>
我是這樣寫
柯柯
那你要開始養成習慣。不要再用短用法了。
然後學view式用法了。
對程式語法判讀來說會很有幫助。
如果有美工的話,美工也會很感謝你用view式用法了。
不過其實認真來說,這是很早期view與php混用的做法。
現在都已經不會在我這邊看到這樣的用法了。
如果這些資料並非存入資料庫的暫存資料,那你需要使用 cookie 或 session 來暫時保存使用者選取的值,然後在輸出到 html 進行 selected 判斷
<?php
$type = (isset($_SESSION['type'])) ? $_SESSION['type'] : null;
?>
<select>
<option <?php echo ($type === 1) ? ' selected' : ''; ?> value="1">直客</option>
</select>