【问题标题】:Checkboxes with PHP & SQLExpress Server 2008PHP 和 SQLExpress Server 2008 的复选框
【发布时间】:2015-07-23 20:54:10
【问题描述】:

我有一个本地应用程序,它当前从本地 SQL Server 读取数据,这适用于 SELECT 查询和在表中输出文本,但是我很难输出选中或未选中的复选框状态:(

查看我的代码:

<?php
    while( $row2 = sqlsrv_fetch_array( $stmt2, SQLSRV_FETCH_ASSOC) ) {
        echo "<tr>";
        echo "<td>" . "<input class=form-control id=input-readonly type=text name=supcode value=" . $row2['column1'] . " readonly></td>";
        echo "<td><input type=checkbox" . 
        if ($row2['checkbox_column1'] ==1) 
            echo "checked='checked'>" . "</td>";
        echo "</tr>";
    }

    sqlsrv_free_stmt( $stmt2);
?>

checkbox_column1 列是 BIT 数据类型

任何指导将不胜感激,谢谢!

【问题讨论】:

  • 您可以先将属性值放在引号中。这不是绝对必要的,但这个例子说明了为什么它是一个好主意。完成后,您应该查看 HTML 输出并确保它是正确的。使用HTML validator(您应该始终使用它,尤其是在学习时)会有所帮助。
  • 对不起 Sverri,上面的代码只是 sn-p..
  • 哦,而且PHP报错也会出问题。您不能连接和if 块。
  • 您能否更正我的代码以说明我应该如何显示 if 语句?
  • 这样,php 代码和 html 输出将是正确的 - 我不想修复您问题中的代码,这不是问题的答案:while($row2 = sqlsrv_fetch_array( $stmt2, SQLSRV_FETCH_ASSOC)) { echo '&lt;tr&gt;'; echo '&lt;td&gt;&lt;input class="form-control" id="input-readonly" type="text" name="supcode" value="' . $row2['column1'] . '" readonly /&gt;&lt;/td&gt;'; echo '&lt;td&gt;&lt;input type="checkbox"'; if ($row2['checkbox_column1'] == 1) echo ' checked="checked"'; echo ' /&gt;&lt;/td&gt;'; echo '&lt;/tr&gt;'; } sqlsrv_free_stmt( $stmt2);

标签: php sql sql-server checkbox


【解决方案1】:

如果复选框列为空,则不会关闭输入。此外,上述连接不适用于if

尝试更新到:

 $checked = $row2['checkbox_column1'] == 1 ? " checked='checked'" : '';  
 echo "<td><input type='checkbox'$checked></td>"; 
 echo "</tr>";

演示:http://3v4l.org/HOojQ

如果列 == 1 输出将是:

<td><input type='checkbox' checked='checked'></td></tr>

其他

<td><input type='checkbox'></td></tr>

【讨论】:

  • 太好了,当您彻底测试或发布您遇到的任何问题/问题后,请将其标记为已接受的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-28
相关资源
最近更新 更多