从 SQL 查询中选择 PHP 中的正确单选按钮
Posted
技术标签:
【中文标题】从 SQL 查询中选择 PHP 中的正确单选按钮【英文标题】:Selecting correct radio button in PHP from SQL query 【发布时间】:2015-01-15 22:39:27 【问题描述】:我正在编写一些代码来编辑数据库中的数据。在原始表单(我正在模仿)上,它有一个单选按钮组,其中包含 6 个选项:
<label for="arrival">When will you arrive?</label><br />
<input type="radio" id="pre" name="arrival" value="pre"/>Pre-KG<br />
<input type="radio" id="wed" name="arrival" value="wed"/>Wednesday<br />
<input type="radio" id="thu" name="arrival" value="thu"/>Thursday<br />
<input type="radio" id="fri" name="arrival" value="fri"/>Friday<br />
<input type="radio" id="sat" name="arrival" value="sat"/>Saturday<br />
<input type="radio" id="sun" name="arrival" value="sun"/>Sunday<br />
我在提交表单后将值放入数据库。现在我正在调用数据库中的数据,我希望选择正确的单选按钮。对此有何建议?搜索了一下好像没找到……
值来自使用 $row["arrival"] 的 sql 查询到我的数据库,其值为上述值之一...
之前我使用的是/否选项...
if ($row["costyn"]==1)
echo '<input type="radio" name="costyn" value="1" checked>Yes<br>';
echo '<input type="radio" name="costyn" value="0">No<br>';
else if ($row["costyn"]==0)
echo '<input type="radio" name="costyn" value="1" >Yes<br>';
echo '<input type="radio" name="costyn" value="0" checked>No<br>';
但必须有更清洁的方法。
【问题讨论】:
附注,ID必须是唯一的。 您在哪里检索要匹配的值? 你需要把 selected = selected 放在你在数据库上的那个 @MarcoMura 对于单选按钮,它是checked
,而不是 selected
。
@caCtus 对,今天工作太多了,但是如果这台收音机不在循环中,他需要在每一行放置一个 php if 或一个 javascript 来“检查”正确的收音机跨度>
【参考方案1】:
在这种情况下,这样的事情可能会起作用:
<label for="arrival">When will you arrive?</label><br />
<?
$row["costyn"] = 4; // value from database
$radio_keys= array('pre', 'wed', 'thu', 'fri', 'sat', 'sun');
$radio_values = array('Pre-KG', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
foreach ($radio_keys as $key => $value)
echo '<input type="radio" name="arrival" value="'.$value.'" '.(($key+1)==$row["costyn"]?'checked':'').'/>'.$radio_values[$key].'<br />';
//ommited the ID, if you need it for JS/CSS reference you shall make it unique or use name/class for whole group.
?>
【讨论】:
谢谢,这就像一个魅力,对我来说完全有意义。赞赏! 谢谢,我更新了从数据库输出为“数字”的脚本【参考方案2】:你的 PHP
首先得到你想要检查的那个然后做这个
让我们说你有它作为“前”
$radio = "pre";
然后
$checked[$radio] = "checked";
你的 html
<label for="arrival">When will you arrive?</label><br />
<input type="radio" id="arrival1" name="arrival" value="pre" <?=(isset($checked['pre']))?$checked['pre']:"";>/>Pre-KG<br />
<input type="radio" id="arrival2" name="arrival" value="wed" <?=(isset($checked['wed']))?$checked['pre']:"";>/>Wednesday<br />
<input type="radio" id="arrival3" name="arrival" value="thu" <?=(isset($checked['thu']))?$checked['pre']:"";>/>Thursday<br />
<input type="radio" id="arrival4" name="arrival" value="fri" <?=(isset($checked['fri']))?$checked['pre']:"";>/>Friday<br />
<input type="radio" id="arrival5" name="arrival" value="sat" <?=(isset($checked['sat']))?$checked['pre']:"";>/>Saturday<br />
<input type="radio" id="arrival6" name="arrival" value="sun" <?=(isset($checked['sun']))?$checked['pre']:"";>/>Sunday<br />
【讨论】:
以上是关于从 SQL 查询中选择 PHP 中的正确单选按钮的主要内容,如果未能解决你的问题,请参考以下文章