簡體   English   中英

當數據庫沒有問題時如何禁用單選按鈕?

[英]How to disable a radio-button when there is no question for it from the database?

我有一些我可以回答的問題,但其中一些問題是 go 最高 F 和一些只有 D 所以我的問題是如何禁用一個沒有問題的按鈕並保留有問題的按鈕。

我想不出解決這個問題的方法,所以這就是我在這里問的原因。

$sql = "SELECT * FROM  questionlist_choice WHERE Qid='$Qid'";
   $result = mysqli_query($conn, $sql);
  if ($result->num_rows > 0) {
    $i = 0;
    $p = 1;
  while ($row = mysqli_fetch_assoc($result)) {
$vraag = $row['Vraag'];
$vraagA = $row['Vraag_keuzeA'];
$vraagB = $row['Vraag_keuzeB'];
$vraagC = $row['Vraag_keuzeC'];
$vraagD = $row['Vraag_keuzeD'];
$vraagE = $row['Vraag_keuzeE'];
$vraagF = $row['Vraag_keuzeF'];
$kikio =  "<div>
     <br><p>$p. $vraag</p>
     <input type='radio' name='q[$i]' value='A'required> $vraagA<br>
     <input type='radio' name='q[$i]' value='B'required> $vraagB<br>
     <input type='radio' name='q[$i]' value='C'required> $vraagC<br>
     <input type='radio' name='q[$i]' value='D'required> $vraagD<br>
     <input type='radio' name='q[$i]' value='E'required> $vraagE<br>
     <input type='radio' name='q[$i]' value='F'required> $vraagF<br>
 </div>";

 echo $kikio;
$i++;
$p++;
  }
}

?>    
<input value="submit" name="submit" type="submit">
</form>

我希望它只會在有問題時顯示單選按鈕。

您可以在輸入廣告字符串之前檢查值是否為空:示例:

    $kikio = 'div<br><p>$p. $vraag</p>';
     if($row['vraagA']!='') $kikio .= '<input type='radio' name='q[$i]' value='A'required> $vraagA<br>'; 
     if($row['vraagB']!='') $kikio .= '<input type='radio' name='q[$i]' value='B'required> $vraagB<br>';
     ...

     $kikio .= '</div>';
echo $kikio;

您可以在結果為空時禁用該行(未測試:):

$result = mysqli_query($conn, $sql);
if ($result->num_rows > 0) {
    $i = 0;
    $p = 1;
    while ($row = mysqli_fetch_assoc($result)) {
        $vraag = $row['Vraag'];
        $form = '';
        echo "<div><br><p>$p. $vraag</p>";
        foreach(range('A','F') as $question) {
            ${'vraag'.$question} = $row['Vraag_keuze'.$question];
            $disabled = empty(${'vraag'.$question}) ? 'disabled' : '';
            $form .= "<input type='radio' name='q[$i]' value='A' required $disabled>${'vraag'.$question}<br>";
        }
        echo "$form </div>";
        $i++;
        $p++;
    }
}

?>    
<input value="submit" name="submit" type="submit">
</form>

未經測試,但您可以嘗試根據特定答案是否為空來動態構建 html(大概$row['Vraag_keuzeA']等是答案?!)

    $sql = "SELECT * FROM  questionlist_choice WHERE Qid='$Qid'";
    $result = mysqli_query($conn, $sql);

      if( $result->num_rows > 0 ) {
        $i = 0;
        $p = 1;

        $fields=array('Vraag_keuzeA','Vraag_keuzeB','Vraag_keuzeC','Vraag_keuzeD','Vraag_keuzeE','Vraag_keuzeF');
        $answers=array('A','B','C','D','E','F');


      while ($row = mysqli_fetch_assoc($result)) {
        $vraag = $row['Vraag'];

        $html=array();
        $html[]='<div>';
        $html[]=sprintf('<br><p>%s. $vraag</p>', $p );

        foreach( $fields as $index => $field ){
            if( !empty( $row[ $field ] ) ) {
                $html[]=sprintf(
                    '<input type="radio" name="%s" value="%s" required /> %s<br />', 
                    $q[ $i ], 
                    $answers[ $index ], 
                    $row[ $field ]
                );
        }
        $html[]='</div>';

        echo implode( PHP_EOL, $html );


        $i++;
        $p++;
      }
    }
?>
<input value="submit" name="submit" type="submit">
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM