मैं सभी श्रेणी प्रदर्शित करना चाहता हूं और मैं चयनित गुणों को एकाधिक चेकबॉक्स में सेट करना चाहता हूं।

<div class="col-md-10">
<?php 

$allCategories = $category->getAllCategory();

if ($allCategories) {

$categoryAccess = $category_permitted->getCategoriesByUserId($user_info[0]->id);

foreach ($allCategories as $key => $items) {
    if ($categoryAccess) {
        foreach ($categoryAccess as $key => $value) {
            ?>
            <input type="checkbox" name="cat_access[]" value=" <?php echo $items->id ?> " <?php echo (isset($categoryAccess) && @$categoryAccess[$key]->id == $items->id) ? 'checked' : '' ?>><?php echo $items->title?>
            <?php
        }
    }

    ?>

    <?php
}
}
 ?>
    </div>

$categoryAccess के माध्यम से लूप करने के बाद, मुझे दो विकल्प चुने गए लेकिन मुझे सभी श्रेणी एक आउटपुट के रूप में दो बार दोहराई जा रही है यानी श्रेणी 1 श्रेणी 1 श्रेणी 2 श्रेणी 2 श्रेणी 3 श्रेणी 3 श्रेणी 4 श्रेणी 4।

मेरे पास 4 श्रेणियां हैं जिनमें चेकबॉक्स हैं और आउटपुट के लिए, 2 श्रेणियों की जांच की जानी चाहिए। मुझे <?php echo (isset($categoryAccess) && $categoryAccess->id == $items->id) ? 'selected' : '' ?> में त्रुटि मिल रही है, यह यह त्रुटि देता है: गैर-वस्तु की संपत्ति 'आईडी' प्राप्त करने का प्रयास करना और जब मैं <?php echo (isset($categoryAccess) && $categoryAccess[0]->id == $items->id) ? 'selected' : '' ?> करता हूं तो यह डेटा देता है लेकिन केवल 0 अनुक्रमणिका का।

var_dump($categoryAccess) :

array(2)
{
    [0]=> object(stdClass)#6 (3)
    {
        ["id"]=> string(1) "1"
        ["user_id"]=> string(1) "2"
        ["title"]=> string(25) "category1"
    }
    [1]=> object(stdClass)#20 (3)
    {
        ["id"]=> string(1) "3"
        ["user_id"]=> string(1) "2"
        ["title"]=> string(18) "category2"
    }
}
1
Alisha Lamichhane 29 जिंदा 2019, 17:03

1 उत्तर

सबसे बढ़िया उत्तर

ये कोशिश करें:

<?php

$allCategories = $category->getAllCategory();
$categoryAccess = $category_permitted->getCategoriesByUserId($user_info[0]->id);

foreach ($allCategories as $items) {

  $checked = '';    

  foreach ($categoryAccess as $value) {

    if($items->id == $value->id){
      $checked = 'checked';
      break;
    } 
  }
  ?>

  <input type="checkbox" name="cat_access[]" value="<?php echo $items->id ?>" <?php echo $checked ?>>
  <?php echo $items->title?>

  <?php
}
?>
3
davidloper 30 जिंदा 2019, 10:50