2015-09-15 54 views
0

我有一些動態創建的複選框,使用該位PHP的創建:動態檢查動態複選框從MySQL在PHP

<?php do { ?> 
<input type="checkbox" name="Cat_Ref_Array[]" value="<?php echo $row_selectCategories['Cat_Ref']; ?>" /> 
<label for="Category"><?php echo $row_selectCategories['Category']; ?></label> 
<?php } while ($row_selectCategories = mysql_fetch_assoc($selectCategories)); ?> 

我也有可能出現的反應的另一個表保存,這是像這樣檢索:

$query_getFeatureCat = sprintf("SELECT `Ref`, Cat_Ref, dist FROM newtable WHERE `Ref` = %s", GetSQLValueString($colname_getFeatureCat, "text")); 
$getFeatureCat = mysql_query($query_getFeatureCat, $db) or die(mysql_error()); 
$row_getFeatureCat = mysql_fetch_assoc($getFeatureCat); 

我怎樣才能得到預填充/表單「檢查」複選框選中該複選框value出現在從newtable查找輸出?

回答

0

試試這個

<?php 
$query_getFeatureCat = sprintf("SELECT `Ref`, Cat_Ref, dist FROM newtable WHERE `Ref` = %s", GetSQLValueString($colname_getFeatureCat, "text")); 
$getFeatureCat = mysql_query($query_getFeatureCat, $db) or die(mysql_error()); 
$row_getFeatureCat = mysql_fetch_assoc($getFeatureCat); 
while ($row_selectCategories = mysql_fetch_assoc($selectCategories)) { 
    if ($row_getFeatureCat) { 
    if (in_array($row_selectCategories['Cat_Ref'], $row_getFeatureCat)) { 
     $checked = 'checked'; 
    } ?> 
    } 
    <input type="checkbox" name="Cat_Ref_Array[]" value="<?php echo $row_selectCategories['Cat_Ref']; ?>" <?php echo $checked; ?>/> 
    <label for="Category"><?php echo $row_selectCategories['Category']; ?></label> 
<?php } ?> 
+0

肯定越來越暖和了!現在我得到這個:'警告:in_array()期望參數2是數組,布爾給定'。有什麼建議? – user1259798

+0

這必須是因爲第一個查詢沒有返回任何結果或到達數組的末尾。 –

+0

我很抱歉,阿爾弗雷德,但我沒有關注。你能解釋給我嗎?如果沒有'newtable'的查找,複選框在'Categories'表中都可以看到。只有當我嘗試合併它們時,我得到錯誤 – user1259798