我已經插入使用PHP如何檢查複選框,如果它的值在DATABASE中。 PHP
而在下面的圖片在MySQL數據庫中的一些複選框值我有取值:
現在我需要像O/P下圖:我應該檢查插入數據庫的數值
現在希望它清楚。
在此先感謝..
我已經插入使用PHP如何檢查複選框,如果它的值在DATABASE中。 PHP
而在下面的圖片在MySQL數據庫中的一些複選框值我有取值:
現在我需要像O/P下圖:我應該檢查插入數據庫的數值
現在希望它清楚。
在此先感謝..
您應該有一個可用選項表(在這種情況下,類似於cities
表),然後是用戶到城市的查找表。然後,您可以遍歷城市,還可以獲取用戶已檢查的城市。
的樣品,不知道你的數據庫結構,將如下所示:
$uid = $_SESSION['user']['id']; // your logged in user's ID
$cities = array();
// get an array of cities
$sql = "SELECT id, name FROM cities";
$res = mysql_query($sql);
while ($row = mysql_fetch_object($res)) {
$cities[$row->id] = $row->name;
}
// get an array of cities user has checked
$sql = "SELECT DISTINCT city_id FROM users_cities WHERE user_id = '$uid'";
$res = mysql_query($sql);
while ($row = mysql_fetch_object($res)) {
$checked[] = $row->city_id;
}
// this would be templated in a real world situation
foreach ($cities as $id => $name) {
$checked = "";
// check box if user has selected this city
if (in_array($checked, $id)) {
$checked = 'checked="checked" ';
}
echo '<input type="checkbox" name="city[]" value="'.$id.'" '.$checked.'/>';
}
如果我理解你的問題正確,明顯的和最簡單的方法是,你需要獲取從數據庫記錄,如果該值時產生HTML [類似的循環OT東西當檢查存在於數組中的結果。您沒有給我們任何關於您的數據庫結構或代碼的例子,所以您必須自己決定如何去做。
通常,您將值插入到數據庫中。插入後,您應該再次訪問相同的值。目前還不清楚你如何設置你的腳本,所以我們假設你重定向到另一個腳本。
您需要做的是再次從數據庫中檢索複選框的值。然後你知道哪些被選中。這可以用來確定您的複選框是否需要檢查。
注:
例如,像這樣:
<?php
// Retrieve values from database.
$resultArray = ... some code ... ;
?>
<?php foreach ($field_types as $field_name => $field_value): ?>
<input type="checkbox" name="<?php echo $field_name; ?>" value="<?php echo $field_value ?>" <?php if (in_array($field_name, $resultArray)) { echo 'checked'; }/>
<?php endforeach; ?>
這導致其被選中複選框,如果field_name是結果數組內(用已選中的結果)。否則,他們只會呈現爲未經檢查的複選框。希望這已經夠清楚了。