foreach внутри цикла - PullRequest
       12

foreach внутри цикла

0 голосов
/ 23 сентября 2018

У меня в БД 2 таблицы - Категории и продукты.В таблице продуктов я использую поле внешнего ключа с именем category_id , которое содержит разделенные запятыми идентификаторы категорий, к которым относится этот продукт.Теперь я использую раскрывающийся список множественного выбора, с помощью которого администратор может выбрать несколько категорий, к которым относится данный продукт.Теперь при редактировании продукта я хочу отобразить все категории из таблицы категорий вместе с выбранными категориями для этого конкретного продукта, которые должны быть помечены как выбранные.Мой запрос похож на приведенный ниже, но моя проблема в том, что он повторяет значения категорий несколько раз.Я не хочу повторять значения.Любая помощь будет оценена.

<?PHP
$query_product = "SELECT * from cmco_products where product_id=$product_id";
$res_product = mysqli_query($conn, $query_product) or die(mysqli_error($conn));                                 
$numrows = mysqli_num_rows($res_product); //check if the record existis into the DB
if($numrows > 0) //if the record exists into the DB
{   
  $row_product = mysqli_fetch_object($res_product);
  $cat_id = explode(",", $row_product->category_id); 
  ?>    
  <select class="form-control show-tick" name="multi_categories_id" id="multi_categories_id" multiple>
  <?php 
  $query_categories = "SELECT * from cmco_categories order by date_created desc";
  $res_categories = mysqli_query($conn, $query_categories) or die(mysqli_error($conn));
  $x = 1;
  while($row_categories = mysqli_fetch_array($res_categories))
  {
    foreach($cat_id as $key => $val)
    {
      $vals[$key] = trim($val)."<br />";
      $qry_cat = "SELECT * from cmco_categories where category_id =".trim($val);
      $res_cat = mysqli_query($conn, $qry_cat) or die(mysqli_error($conn)); 
      $row_cat = mysqli_fetch_array($res_cat);
      ?>
      <option value="<?php echo $row_categories['category_id']; ?>" <?php if($row_categories['category_id'] == trim($val)) { echo "selected";} ?>><?php echo $row_categories['category_name']; ?></option>
      <?php
    }
  }
  ?>
  </select>
  <?PHP
}
?>

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...