Как загрузить значение из базы данных в радиокнопке? - PullRequest
0 голосов
/ 03 октября 2018

Мне нужно знать, если вы можете сделать эту функцию ... У меня есть база данных, которая имеет «логическое» поле, которое принимает значения 0 или 1, и у меня есть HTML-страница, на которой есть radioButton со значениями Ok или NoЯ должен иметь возможность загружать логическое значение в radioButton, поэтому, если в базе данных логическая переменная равна 1 на странице HTML (после выполнения SELECT), radioButton будет иметь значение OK, если в базе данных логическая переменная равна 0 в HTMLстраница (после выполнения SELECT) radioButton не будет иметь значения

, это код моих попыток:

	<?php
$servername = "localhost";
$username = "progettocantiere";
$password = "";
$dbname = "my_progettocantiere";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 



$idAffidataria = $_GET['idAffidataria'];

$sql1 = "SELECT * FROM Affidataria WHERE idAffidataria = '{$idAffidataria}'";



    $result = $conn->query($sql1);


    $details = $result->fetch_array();




    $savedNomeCantiere = $details["nomeCantiere"];
    $savedAddettoSicurezza = $details["addettoSicurezza"];
    $savedMailAffidataria = $details["mailAffidataria"];
    $savedContrattoDiAppalto = $details["contrattoDiAppalto"]; // <--- BOOLEAN <----
                 
        



$result1 = $conn->query($sql1);

echo($nomeCantiere);

?>


<html>
<body>

<table>
 <tr>
    
    <td colspan="2" bgcolor="#CDECFD" style="font-weight: bold">Cantiere</td>
    <td colspan="4" bgcolor="#CDECFD"><input type="text" class="form-control" style="width: 100%;" name="cantiereAffidataria" id="cantiereAffidataria" value="<?php echo $savedNomeCantiere; ?>"/>&nbsp;</td>
  </tr>
  <tr>
  <td colspan="2" bgcolor="#CDECFD" style="font-weight: bold">ContrattoDiAppalto</td>
  <td bgcolor="#B35556"><form action="">
    

       OK <input type="radio" name="contrattoDiAppalto" id="contrattoDiAppalto" value="<?php echo $savedContrattoDiAppalto; ?>" onchange="color(this)" /> <BR>
        NO  <input type="radio" name="contrattoDiAppalto" id="contrattoDiAppalto" value="<?php echo $savedContrattoDiAppalto; ?>" onchange="color(this)" checked/>
       
   
</form></td>
  </tr>
</table>

Другими словами, я должен быть в состоянии изменить radioButton в соответствии с данными, предоставленными SELECT в базе данных

Я попытался дать емузначение через <?php echo $savedContrattoDiAppalto; ?>" но я сомневаюсь, что это правильно .. У меня заканчиваются идеи .. кто-то может мне помочь?

1 Ответ

0 голосов
/ 03 октября 2018

Создайте переменную $checked = 'checked'

Затем создайте условие, чтобы проверить, является ли оно 1 или 0

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

И примените эту переменную к вашим входным атрибутам.

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

Полный код должен быть:

<?php
$servername = "localhost";
$username = "progettocantiere";
$password = "";
$dbname = "my_progettocantiere";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 



$idAffidataria = $_GET['idAffidataria'];

$sql1 = "SELECT * FROM Affidataria WHERE idAffidataria = '{$idAffidataria}'";



    $result = $conn->query($sql1);


    $details = $result->fetch_array();




    $savedNomeCantiere = $details["nomeCantiere"];
    $savedAddettoSicurezza = $details["addettoSicurezza"];
    $savedMailAffidataria = $details["mailAffidataria"];
    $savedContrattoDiAppalto = $details["contrattoDiAppalto"];
    $checked = 'checked';             
    if($savedContrattoDiAppalto != true){
        $checked = ''; // if not true then not checked
    }    



$result1 = $conn->query($sql1);

echo($nomeCantiere);

?>


<html>
<body>

<table>
 <tr>

    <td colspan="2" bgcolor="#CDECFD" style="font-weight: bold">Cantiere</td>
    <td colspan="4" bgcolor="#CDECFD"><input type="text" class="form-control" style="width: 100%;" name="cantiereAffidataria" id="cantiereAffidataria" value="<?php echo $savedNomeCantiere; ?>"/>&nbsp;</td>
  </tr>
  <tr>
  <td colspan="2" bgcolor="#CDECFD" style="font-weight: bold">ContrattoDiAppalto</td>
  <td bgcolor="#B35556"><form action="">


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


</form></td>
  </tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...