Вставка данных массива в PHP, проходящих через AJAX - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь вставить значение массива в php, проходящее через ajax, но у меня ничего не получается. Я думаю, что проблема в ajax при отправке переменной массива. Моя HTML-форма приведена ниже.

<tr>
    <th>ID</th>
    <td><input type="number" id="navid"></td>
</tr>
<tr>
    <th>Menu NPL</th>
    <td><input type="text" name="menunpl[]"></input></td>
</tr>
<tr>
    <th>Menu ENG</th>
    <td><input type="text" name="menueng[]"></input>
    </td>
</tr>

И я передал значение как

$("#submit").click(function(){
    var navid = $("#navid").val();
    var menunpl = $("input[name='menunpl[]']" ).val()
    var menueng = $("input[name='menueng[]']" ).val()
    $.ajax({
        url: 'insert_nav.php',
        type: 'post',
        data: {navid:navid,menunpl:menunpl,menueng:menueng},
        success: function(data){
            alert(data);
            $('#nav')[0].reset();
        }
    });
});

Но на стороне сервера написано неверный аргумент для foreach()

if (isset($_POST["navid"]) && !empty($_POST["navid"])) {
    foreach ($_POST['menunpl'] AS $key => $item){
        $query1 =$con->prepare("INSERT INTO menu(cid, title, en_title) VALUES (:navid, :menunpl, :menueng)");
        $query1->bindParam(':menunpl',$item);
        $query1->bindParam(':menueng',$_POST["menueng"][$key]);
        $query1->bindParam(':navid', $_POST["navid"]);
        $query1->execute();
        $msg1 = 'Menu has inserted';    
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...