2014-09-23 63 views
0

制作表单以编辑sql表格,表单使用单选按钮,因此用户可以看到现有值,当页面加载时,我希望根据我的单选按钮显示/关闭到数据库。有2个按钮,他们发送值0 & 1.我目前使用isset没有成功。有没有更好的(正确)方法来做到这一点?我的php正在为文本字段,但与收音机没有选择。在页面加载时从sql显示单选按钮值

  <label> 
       <input type="radio" name="transaction" value="0" <?php if (isset($transaction) && $transaction === '0') { echo 'checked="checked"';}?>/> 
       Listings</label> 
      <br /> 
      <label> 
       <input type="radio" name="transaction" value="1" <?php if (isset($transaction) && $transaction === '1') { echo 'checked="checked"';}?>/> 
       Transaction History</label> 
+1

由于您使用'==='你确定'$ transaction'的值是一个字符串吗? – AlliterativeAlice 2014-09-23 16:05:14

+0

所以应该使用===与0或1相同。 @alliterativeAlice,我很尴尬我没有跟着你在这里 – rhill45 2014-09-23 16:08:20

+0

'==='检查变量的类型,而不仅仅是它的值,尝试使用'==' – AlliterativeAlice 2014-09-23 16:11:53

回答

0

最有可能的值是$transaction是一个数字,而不是一个字符串。更改比较核对数字,不是针对一个字符串:

<input type="radio" name="transaction" value="0" <?php if (isset($transaction) && $transaction === 0) { echo 'checked';}?>/> 
<input type="radio" name="transaction" value="1" <?php if (isset($transaction) && $transaction === 1) { echo 'checked';}?>/> 

或者,使用弱平等==操作者只需比较值,而不是类型:

<input type="radio" name="transaction" value="0" <?php if (isset($transaction) && $transaction == '0') { echo 'checked';}?>/> 
<input type="radio" name="transaction" value="1" <?php if (isset($transaction) && $transaction == '1') { echo 'checked';}?>/> 
相关问题