我有一个关于选择框的问题,我在客户端account.php上有一个选择框,其中包含州/省的列表,我已经有其他字段,如地址,姓名,电子邮件等。
我在一个名为state的数据库中有一个col,当我按下更新帐户时,用户状态信息存储在哪里,所有内容都完美更新,但是我想确保每当用户点击更新按钮时他的选择框保持选中状态当我现在选择我的状态并更新时,它中的logback将保持选中状态,它将在数据库中更新但在我重新登录时在页面上更新到第一个选项框
我可以拥有的任何简单例子都很棒!
<?php public function getUserData() {
global $db, $core;
$sql = "SELECT *, DATE_FORMAT(created, '%a. %d, %M %Y') AS cdate," . "\n DATE_FORMAT(lastlogin, '%a. %d, %M %Y') AS ldate" . "\n FROM " . $this->uTable . "\n
WHERE id = '" . $this->uid . "'";
$row = $db->first($sql);
return ($row) ? $row : 0;
} ?>
<?php $row = $user->getUserData(); ?>
<select name="state" id="state">
<?php $state = $row['state'];?>
<option value="Ontario" <?php if($state == "Ontario") echo "SELECTED" ?>>Ontario</option>
<option value="Alberta" <?php if($state == "Alberta") echo "SELECTED" ?>>Alberta</option>
</select>
答案 0 :(得分:0)
不是渲染多个<option>
标签,而是使用循环可能更容易。这使得事情也更容易维护。 (您还可以从数据库中检索状态列表。)
<?php
$states = array('Ontario' => 'Ontario', 'Alberta' => 'Alberta');
$row = $user->getUserData();
$state = $row['state'];
?>
<select name="state" id="state">
<?php foreach($states as $shortName => $displayName):?>
<option value="<?=$shortName;?>" <?php if($shortName == $state) echo "SELECTED" ?>><?=$displayName;?></option>
<?php endforeach;?>
</select>