我正在尝试同时插入多个 |-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
的父亲,但它们都会被检查。第二个问题是那些主菜单被插入多个时间(根据检查的嵌套菜单的数量插入相同的值)。
如果我插入跳过嵌套菜单,它可以正常工作
但是,如果我立即插入数据,如下所示。此处submenu
被插入多个且没有cat_id-4
,但其他submenu
存储在此处。
我认为问题是由于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;
}
?>