如何在单选按钮中从数据库加载值?

dsf9zpds  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(324)

我想知道你是否能做这个功能。。。我有一个数据库,它有一个接受0或1值的“布尔”字段,我有一个html页面,其中有一个单选按钮,它的值为ok或no。我必须能够在单选按钮中加载布尔值,因此如果在数据库中,html页面上的布尔变量为1(执行select之后),如果在数据库在html页面上布尔变量为0(执行select之后),单选按钮将没有值
这是我尝试的代码:

  1. <?php
  2. $servername = "localhost";
  3. $username = "progettocantiere";
  4. $password = "";
  5. $dbname = "my_progettocantiere";
  6. // Create connection
  7. $conn = new mysqli($servername, $username, $password, $dbname);
  8. // Check connection
  9. if ($conn->connect_error) {
  10. die("Connection failed: " . $conn->connect_error);
  11. }
  12. $idAffidataria = $_GET['idAffidataria'];
  13. $sql1 = "SELECT * FROM Affidataria WHERE idAffidataria = '{$idAffidataria}'";
  14. $result = $conn->query($sql1);
  15. $details = $result->fetch_array();
  16. $savedNomeCantiere = $details["nomeCantiere"];
  17. $savedAddettoSicurezza = $details["addettoSicurezza"];
  18. $savedMailAffidataria = $details["mailAffidataria"];
  19. $savedContrattoDiAppalto = $details["contrattoDiAppalto"]; // <--- BOOLEAN <----
  20. $result1 = $conn->query($sql1);
  21. echo($nomeCantiere);
  22. ?>
  23. <html>
  24. <body>
  25. <table>
  26. <tr>
  27. <td colspan="2" bgcolor="#CDECFD" style="font-weight: bold">Cantiere</td>
  28. <td colspan="4" bgcolor="#CDECFD"><input type="text" class="form-control" style="width: 100%;" name="cantiereAffidataria" id="cantiereAffidataria" value="<?php echo $savedNomeCantiere; ?>"/>&nbsp;</td>
  29. </tr>
  30. <tr>
  31. <td colspan="2" bgcolor="#CDECFD" style="font-weight: bold">ContrattoDiAppalto</td>
  32. <td bgcolor="#B35556"><form action="">
  33. OK <input type="radio" name="contrattoDiAppalto" id="contrattoDiAppalto" value="<?php echo $savedContrattoDiAppalto; ?>" onchange="color(this)" /> <BR>
  34. NO <input type="radio" name="contrattoDiAppalto" id="contrattoDiAppalto" value="<?php echo $savedContrattoDiAppalto; ?>" onchange="color(this)" checked/>
  35. </form></td>
  36. </tr>
  37. </table>

换句话说,我必须能够改变单选按钮,根据数据提供的选择对数据库
我试着通过 <?php echo $savedContrattoDiAppalto; ?>" 但我怀疑这是对的。。我没什么主意了。。有人能帮我吗?

guz6ccqo

guz6ccqo1#

生成变量 $checked = 'checked' 然后设置一个条件来检查它是1还是0

  1. $checked = 'checked';
  2. if($savedContrattoDiAppalto != 1){
  3. $checked = ''; // Default is checked, if it isn't 1 then it's empty and will not check your radio.
  4. }

并将该变量应用于输入属性。

  1. <input type="radio" name="contrattoDiAppalto" id="contrattoDiAppalto"
  2. value="<?php echo $savedContrattoDiAppalto; ?>" onchange="color(this)" $checked/>

完整代码应为:

  1. <?php
  2. $servername = "localhost";
  3. $username = "progettocantiere";
  4. $password = "";
  5. $dbname = "my_progettocantiere";
  6. // Create connection
  7. $conn = new mysqli($servername, $username, $password, $dbname);
  8. // Check connection
  9. if ($conn->connect_error) {
  10. die("Connection failed: " . $conn->connect_error);
  11. }
  12. $idAffidataria = $_GET['idAffidataria'];
  13. $sql1 = "SELECT * FROM Affidataria WHERE idAffidataria = '{$idAffidataria}'";
  14. $result = $conn->query($sql1);
  15. $details = $result->fetch_array();
  16. $savedNomeCantiere = $details["nomeCantiere"];
  17. $savedAddettoSicurezza = $details["addettoSicurezza"];
  18. $savedMailAffidataria = $details["mailAffidataria"];
  19. $savedContrattoDiAppalto = $details["contrattoDiAppalto"];
  20. $checked = 'checked';
  21. if($savedContrattoDiAppalto != true){
  22. $checked = ''; // if not true then not checked
  23. }
  24. $result1 = $conn->query($sql1);
  25. echo($nomeCantiere);
  26. ?>
  27. <html>
  28. <body>
  29. <table>
  30. <tr>
  31. <td colspan="2" bgcolor="#CDECFD" style="font-weight: bold">Cantiere</td>
  32. <td colspan="4" bgcolor="#CDECFD"><input type="text" class="form-control" style="width: 100%;" name="cantiereAffidataria" id="cantiereAffidataria" value="<?php echo $savedNomeCantiere; ?>"/>&nbsp;</td>
  33. </tr>
  34. <tr>
  35. <td colspan="2" bgcolor="#CDECFD" style="font-weight: bold">ContrattoDiAppalto</td>
  36. <td bgcolor="#B35556"><form action="">
  37. OK <input type="radio" name="contrattoDiAppalto" id="contrattoDiAppalto" value="<?php echo $savedContrattoDiAppalto; ?>" onchange="color(this)" $checked/> <BR>
  38. NO <input type="radio" name="contrattoDiAppalto" id="contrattoDiAppalto" value="<?php echo $savedContrattoDiAppalto; ?>" onchange="color(this)" $checked/>
  39. </form></td>
  40. </tr>
  41. </table>
展开查看全部

相关问题