Foreach循环多次插入一个值

时间:2018-06-04 18:26:36

标签: php foreach nested

我正在尝试同时插入多个 |-scripts |--mod_cache_disk |--mod_cache_d |---logs |-run_win |-scripts.tar.gz menus。在某些菜单列表中,一个菜单有nested menu。请参阅以下结构

submenu
*{
  margin:0px;
  padding:0px;
}

.left{
  float:left;
}
.col8{
  width:20%;
}
.col100{
  width:100%;
}
ol, ul {
	list-style: none;
}
li{
  list-style:none;
}
li ul{
  margin-left:10px;
}

同样,我想澄清只有一个<li class="left col8"> <input type="checkbox" id="menu" name="menu[]" value="2">News <ul class="displaynone col100"> <li class="left col100"> <input type="checkbox" class="menusub" name="menusub[]" value="2">Politics </li> <li class="left col100"> <input type="checkbox" class="menusub" name="menusub[]" value="3">Social </li> <li class="left col100"> <input type="checkbox" class="menusub" name="menusub[]" value="4">Economy </li> </ul> </li> <li class="left col8"> <input type="checkbox" id="menu" name="menu[]" value="12">Views </li> <li class="left col8"> <input type="checkbox" id="menu" name="menu[]" value="13">ART </li>menu。问题是,如果我尝试同时插入两个{/ 1>},则此submenu会打扰其他submenu。第一个问题是,这个子菜单的值存储在每个其他主菜单中,虽然它们不是这个main menu的父亲,但它们都会被检查。第二个问题是那些主菜单被插入多个时间(根据检查的嵌套菜单的数量插入相同的值)。

如果我插入跳过嵌套菜单,它可以正常工作

enter image description here

但是,如果我立即插入数据,如下所示。此处submenu被插入多个且没有cat_id-4,但其他submenu存储在此处。

enter image description here

我认为问题是由于submenu的使用不当造成的。

nested foreach loop

如下从ajax传递数据。

<?php
    $query = '';
    $msg = '';

    $data = explode("," ,$_POST["navid"]);
        foreach ($data AS $key => $menu){
            $subdata = explode("," ,$_POST["subnavid"]);
            foreach($subdata AS $key => $submenu){

                //If Image is browsed 
                if(!empty($_FILES['file']['name'])){
                    move_uploaded_file($_FILES["file"]["tmp_name"], $target_file);
                    $query = $con->prepare('INSERT into news(heading, cat_id, subcat_id, content, keytag, date, img) VALUES(:heading, :cat_id, :subcat_id, :content, :keytag, :date, :new_img)');
                    $query->bindParam(':new_img',$new_img);
                }

                //If Image isnot browsed 

                if(empty($_FILES['file']['name'])){
                    $query = $con->prepare('INSERT into news(heading, cat_id, subcat_id, content, keytag, date) VALUES(:heading, :cat_id, :subcat_id, :content, :keytag, :date)');
                }
                if(empty($submenu)){
                   $submenu = null;
                }
                $query->bindParam(':heading', $heading);
                $query->bindParam(':subcat_id', $submenu);
                $query->bindParam(':cat_id', $menu);
                $query->bindParam(':content', $content);
                $query->bindParam(':keytag', $keytag);
                $query->bindParam(':date', $date);

                if($query->execute()){
                    $msg="Successfully Inserted";
                };
            }
        }
        echo $msg;
    }
?>

0 个答案:

没有答案