从 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 中的正确单选按钮的主要内容,如果未能解决你的问题,请参考以下文章

根据单选按钮选择将下拉菜单的值和显示名称更改为 SQL 查询结果

在会话中存储单选按钮值 - PHP

动态创建单选按钮并分配选定的值 PHP

只允许在使用 PHP 的表单中选择一个单选按钮

在php中未选择单选按钮时如何返回值0

从 php 中检索单选按钮的 mysql 值