PHP-优化下拉列表,从SQL获取默认值?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-优化下拉列表,从SQL获取默认值?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1825字,纯文字阅读大概需要3分钟。
内容图文
我有一个省份下拉列表,其默认值是根据从SQL中获取的用户省份来确定的:
$getProvince = $db->prepare("
SELECT province
FROM users
WHERE userid = :id
");
$getProvince->execute(array(
':id' => $_SESSION["userident"]
));
$province = $getProvince->fetchColumn();
<select name="addprov">
<option value="AB" <?php if ($province == "AB") { echo "selected='selected'"; } ?>>Alberta</option>
<option value="BC" <?php if ($province == "BC") { echo "selected='selected'"; } ?>>British Columbia</option>
<option value="MB" <?php if ($province == "MB") { echo "selected='selected'"; } ?>>Manitoba</option>
<option value="NB" <?php if ($province == "NB") { echo "selected='selected'"; } ?>>New Brunswick</option>
<option value="NFLD" <?php if ($province == "NFLD") { echo "selected='selected'"; } ?>>Newfoundland & Labrador</option>
<option value="NS" <?php if ($province == "NS") { echo "selected='selected'"; } ?>>Nova Scotia</option>
<option value="ON" <?php if ($province == "ON") { echo "selected='selected'"; } ?>>Ontario</option>
<option value="PEI" <?php if ($province == "PEI") { echo "selected='selected'"; } ?>>Prince Edward Island</option>
<option value="QC" <?php if ($province == "QC") { echo "selected='selected'"; } ?>>Quebec</option>
<option value="SK" <?php if ($province == "SK") { echo "selected='selected'"; } ?>>Saskatchewan</option>
</select>
您可以看到这有多丑.有没有一种方法可以对此进行优化,以使它在眼睛上不会那么难?
解决方法:
将您的选项粘贴在数组中,然后循环html输出.
$provinces = array(
'AB' => 'Alberta',
'BC' => 'British Columbia',
'MB' => 'Manitoba',
//...
);
$province = ''; // your query result
然后输出
<select name="addprov">
<?php foreach ($provinces as $key => $value): ?>
<option value="<?php echo $key; ?>" <?php if ($province === $key): ?>selected="selected"<?php endif; ?>><?php echo $value; ?></option>
<?php endforeach; ?>
</select>
内容总结
以上是互联网集市为您收集整理的PHP-优化下拉列表,从SQL获取默认值?全部内容,希望文章能够帮你解决PHP-优化下拉列表,从SQL获取默认值?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。