我如何去顯示在jokecategory表中被選中的複選框,以及那些沒有被顯示但沒有被選中的複選框。這是我目前有:PHP顯示數據在複選框
<div class="control-group">
<?php
$sql = 'SELECT jokecategory.joke_id, jokecategory.category_id, category.name
FROM jokecategory
INNER JOIN category ON category.id = jokecategory.category_id
WHERE joke_id= :joke_id';
$stmt = $dbConnection->prepare($sql);
$stmt->bindValue(':joke_id', $id);
$stmt->execute();
?>
<fieldset>
<legend class="control-label">Categories:</legend>
<?php foreach ($stmt as $row) { ?>
<div class="controls">
<label for="category<?php echo($row['category_id']);?>">
<input type="checkbox" id="category<?php echo $row['category_id']; ?>" name="checkbox[]" value="<?php echo $row['category_id']; ?>" checked>
<?php echo($row['name']); ?></label>
</div>
<?php } ?>
與(類別表中的數據):
<?php $sql = 'SELECT id, name FROM category';
foreach ($dbConnection->query($sql) as $data) { ?>
<div class="controls">
<label for="category<?php echo($data['id']);?>">
<input type="checkbox" name="categories[]" id="category<?php echo($data['id']); ?>" value="<?php echo($data['id']);
?>">
<?php echo($data['name']); ?></label>
</div>
<?php } ?>
</fieldset>
</div>
它在此刻兩段,因爲我不知道如何來顯示輸出數據合併爲一個合併組。所以它像這樣:
Joke id: xxxxx
joke_text: xxxxxx
author_name: xxxxx
categories
1: [x]
2: [x]
3: [ ]
4: [ ]
首先,你得到的查詢數據?提取後您是否嘗試過'print_r($ data)'?其次,'$ joke_id和其他變量'將始終具有查詢的最後數據,因爲這些變量不是數組。第三,你的'foreach'調用'$ data ['category_id']',這是否正確? –
我收到所有其他字段的數據。這只是我不確定如何放在一起的循環元素。 –
使用'print_r($ data)'和'joke.id = 28',它在jokecategory表下有4個記錄。但是,'$ data ['category_id']僅顯示來自jokecategory表內的1x數據項。 –