Поэтому у меня есть три таблицы:Tick флажок из цикла WHILE
docs
doc_id
cats
cat_id
doc_cat_join
id
doc_id
cat_id
Я создал способ создать документ (так же, как пост) и категория Документов перейти в таблицу DOCS и категории идут в таблицу кошек. при редактировании документа я показываю доступные категории посредством цикла while. это работает отлично, в зависимости от того, что я отмечаю, он принимает doc_id из url и cat_id флажков, которые вы укажете. То, что я хочу сделать, - это когда я снова вернусь и снова отредактирую, он показывает только галочки в флажках из тех, которые я выбрал ранее, посмотрев таблицу соединений.
Вот как я в настоящее время перебрать и показать категории:
<?php
function build_cat_checkboxes(){
global $dbc;
global $id;
$q = "SELECT * FROM cats";
$r = mysqli_query ($dbc, $q); // Run the query.
$currentDoc = $id;
while ($row = mysqli_fetch_array($r)) {
$checked = (($row['cat_id'] == $currentDoc) ? 'checked' : '');
echo '<ul>
<li><label>
<input type="checkbox" name="cat_id[]" value="' . $row['cat_id'] . '" checked="'.$checked.'"> ' . $row["cat_name"] . '</label></li>
</ul>';
}
}
?>
Как вы можете видеть, что я попытался создать способ проверки их, но все это делает это тикают все коробки, потому что мой запрос это явно не так, как оно не проверяя присоединиться к таблице, чтобы увидеть, если doc_id связан с cat_id
Итак ...
я соединял этот вопрос:
$q1 = "SELECT * FROM doc_cat_join WHERE doc_id = '$id'";
$r1 = mysqli_query($dbc, $q1);
, и если я нахожу на нем print_r
, он возвращает мне числа строк, которые я ожидаю, беря doc_id из URL-адреса, а затем показывая мне, есть или нет строк в таблице соединений, связанных с я редактирую документ. Мне нужно найти способ пометить флажки, но я действительно борется.
Хм, так что до сих пор помечает все галочки даже с предложенным изменением. – PhpDude
Правильно, если он проверял атрибут, он будет проверен. Однократное редактирование. – taxicala
Итак, ни один из отметок не отмечен сейчас ... (Несмотря на то, что строки существуют в таблице соединений) – PhpDude