Сравнение значений массива с результатом mysqli

Может кто-нибудь помочь мне решить эту проблему?

Ниже приведен код, который я использовал на странице редактирования, и я хочу сравнить значения флажков и, если они совпадают, сделать так, как отмечено.

Пример моих двух значений массива

$CategoryDetails : Array ( [0] => 6 [1] => 1 )
$Category_data : Array ( [0] => 1 [1] => 3 [2] => 6 [3] => 2 [4] => 4 [5] => 7)

$Category_data это использую, чтобы создать флажок и $CategoryDetails это выбранные значения. Так, как указано выше, например, флажок 1 & 3 должен быть проверен, но ниже код дает мне только один проверенный т.е. checkbox3

Мне нужно сравнить каждое значение array1 с array2.

<?php
$CategoryDetails = isset($category_list) ? $category_list : ' ';
$Category = dbSelectByWhere("Highlight_categories", "WHERE Highlight_cat_status=1", "Order By Highlight_Category_name");
$k = 0;
while ($Category_data = dbFetchArray($Category)) {
?>
<input type="checkbox" name="category[]" id="Category" value="<?php echo $Category_data['Highlight_category_id']; ?>" data-parsley-mincheck="1" required class="flat" <?php
if (isset($CategoryDetails) && ($CategoryDetails[$k] == $Category_data['Highlight_category_id'])) {
echo 'checked';
if ($k < (count($CategoryDetails) - 1)) {
$k++;
}
}
?>/> <?php echo $Category_data['Highlight_Category_name']; ?>
<?php } ?>

0

Решение

1-й: Вам нужно использовать in_array функция.

2-й: Функция in_array ищет в массиве конкретное значение. Если значение существует, оно вернет true, иначе вернет false.

3-й: Если пусто, объявите переменную как массив

$CategoryDetails = isset($category_list) ? $category_list : array();

PHP:

while ($Category_data = dbFetchArray($Category)) {
?>
<input type="checkbox" name="category[]" id="Category" value="<?php echo $Category_data['Highlight_category_id']; ?>" data-parsley-mincheck="1" required class="flat" <?php
if (isset($CategoryDetails) && in_array($Category_data['Highlight_category_id'],$CategoryDetails)) {
echo 'checked';
}
?>/> <?php echo $Category_data['Highlight_Category_name']; ?>
<?php } ?>
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector