2016-12-04 9 views
1

であればチェックボックス、ディスプレイなどの表示列名がチェックとして:PHP:列の値が、私は次の表を持っている1

ID | Monday | Tuesday | Wednesday | Thursday | Friday 
25 | 1  | 0  | 0  | 1  | 1 

(これは、適切なフォーマットの日がオフになっている場合にゼロでテーブルを想像していませんそして日がチェックされている場合のもの)

そして、私はこのように表示するために私のhtmlページ上でそれをしたい:

月曜日(チェックチェックボックス)
火曜日(チェックチェックボックス)
水曜日(未チェックのチェックボックス)

など。 チェックボックスをオンにするには、入力タグに "checked"が含まれていることがわかります。しかし、私は入力タグにif条件を挿入する必要があります。つまり、$値が1の場合は "checked"と表示されます。それはおそらくちょうどPHP内部のhtml内部のPHPを正しくフォーマットすることの問題です。

これまでのところ、私はこのPHPコードを持って、それだけで一日のキャプションなしで私に未チェックのチェックボックスを提供します:

<html>  
<?php  
    $firstrow = false; 
     while ($row = mysqli_fetch_assoc($res_skill)){ 
     if (!$firstrow) { 
     foreach ($row as $column => $value) { 
     echo "<input type='checkbox' name='data[]' value='". $column . "' /><br>"; 
     } 
     $firstrow = true; 
     } 
     } 
    ?> 
</html> 

私は何ができますか?

+0

キャプションはどこに表示されますか? –

+0

私は入力タグの後ろにキャプションをつけていません。私はそれを行う方法がわかりません。キャプションは私のテーブルの列名であるはずです。 ETA:入力タグの後に$列を置くとキャプションが表示されます。主な質問は、$値が1の場合、チェックボックスをどのように表示するのですか? – paula

+0

列名は '$ column'に格納されていますか?次に問題は何ですか? –

答えて

0

チェックボックスのキャプションを表示するには、ラベルを使用する必要があります。 value属性は、フォームをページに(名前と値のペアの形式で)送信するときに使用されます。ある日のチェックボックスにチェックを入れておくためには、checkbox要素でchecked属性を使用する必要があります。

<?php  
    $firstrow = false; 
    while ($row = mysqli_fetch_assoc($res_skill)){ 
    if (!$firstrow) { 
     foreach ($row as $column => $value) { 
      echo "<label for='".$column."ID'>".$column."</label>"; 
      echo "<input type='checkbox' name='data[]' id='".$column."ID' value='". $column . "'"; 
      if($value==1){ 
       echo " checked='checked'"; 
      } 
      echo "/><br>"; 
     } 
     $firstrow = true; 
    } 
    } 
?> 

input要素のid属性とlabel要素の属性の使用は、問題には関係ありません。しかし、そうすることは良いプログラミングの習慣です。私はなぜあなたが$ firstrowを使っているのか分からなかったので、私はコードのその部分を変更しませんでした。

$value==1の代わりに、デフォルトでチェックボックスをオンにするその他の条件を使用できます。

+0

私は月曜日のチェックボックスをデフォルトでチェックしたくないので、その特定のIDのカラムの値が1であれば月曜日のボックスをチェックしたい。他のIDの場合は0にすることができる。 – paula

+0

ここに行く。私は変更を加えました –

関連する問題