2016-05-12 15 views
0

データベーステーブルから取得したデータからチェックボックスを設定しています。私の質問は、1つのチェックボックスが定義されていて、dbから読み込まれたときにループするので、他の質問とは異なります。そこで、別のテーブルにある値を含むチェックボックスをチェックしたいと思います。私が持っているコードでは、テーブルの最後の行からの値を持つチェックボックスだけがチェックされます。私は間違って何をしていますか?値がdbテーブルにある場合、チェックボックスをチェックしてください

//this is the value I get from the other table. 
    $indb = "$bid,$c,$sc,$p"; 

    $q5=mysqli_query($link,"SELECT * FROM brands_offer WHERE Brand_Id='$bid' AND Published='1' "); 
    while($row5 = mysqli_fetch_array($q5)){ 
     $catid= $row5['Catg_Id']; 
     $subcatid= $row5['Subcatg_Id']; 
     $pid= $row5['Product_Id'];  

     //this is the value that populates the checkboxes 
     $vals="$bid,$catid,$subcatid,$pid"; 
    ?> 
    //my argument is here 
    <input type="checkbox" name="checkbox[]" value="<?php echo "$vals";?>" <?php if ($vals == $indb){?> checked="checked" <?php } ?>> 
    <?php 
     echo $bname; 
     echo " -> "; 
     echo $catid; 
     echo ", "; 
     echo $subcatid; 
     echo ", "; 
     echo $pid; 
     echo " "; 
    } 
+0

@Dagonチェックボックスはwhileループ内にあると思います。 @ YohanBlake - ちょうど 'JOIN'やネストされたループをやってみませんか?または既にネストされたループに入っていますか?他のテーブルの詳細を教えてください。 –

答えて

0

がそれを手に入れた、私は、配列$indb[] = "$bid,$c,$sc,$p";にテーブルから値を加え、それがアレイ内だかどうかを確認する<?php if (in_array($vals, $indb)){?> checked="checked" <?php } ?>を使用します。作業:D

関連する問題