POST отправить в MySQL, используя php значение из javascript append - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь POST отправить данные в MySQL, используя php из append javascript.

Вот модал, откуда данные берутся из append, что в php.

                            <tr onload="calculate()">

                                <?php

                                foreach ($conn->query("SELECT * FROM panapricelist") as $info){

                                    echo "<td><input type='checkbox' id='promotitle' name='check' value='".$info['ProductId']."' ></td>";
                                    echo "<td><textarea rows='4' cols='7' maxlength='60'  name='pcode' class='pcode' id='ProductCode' disabled>".$info['ProductCode']."</textarea></td>";
                                    echo "<td><br><textarea rows='5' cols='40' maxlength='50' name='puse' class='productuse' id='productuse' disabled>".$info['ProductUse']." </textarea></td>";
                                    echo "<td><br><textarea rows='4' cols='50' maxlength='50' name='pdesc' class='description' id='productDesc' disabled>".$info['ProductDesc']."</textarea></td>";
                                    echo "<td id='msrp'><textarea rows='4' cols='10' maxlength='50' name='Msrp' class='msrp' id='productMsrp' disabled>".$info['Msrp']."</textarea></td>";
                                    echo "<td style='width: 10%;'><textarea rows='4' cols='10' name='cost' maxlength='50' class='cost' id='cost' disabled>".$info['DealerPhp']."</textarea></td></tr>";
                                }
                                ?>

                            </tbody>

Вот дополнение js от модального к таблице.

        $(document).ready(function() {
            $("#button_add").click(function() {
                var favorite = [];
                $.each($("input[name='check']:checked").each( function() {
                    // favorite.push($(this).val());

                    var getRow = $(this).parents('tr'); //variable for the entire row
                    var value =  (getRow.find('td:eq(1)').html()); // Product Code
                    var value1 = (getRow.find('td:eq(2)').html()); // for Suggested Product Use
                    var value2 = (getRow.find('td:eq(3)').html()); // for product Description
                    var value3 = (getRow.find('td:eq(4)').html()); // for MSRP PHP
                    var value4 = (getRow.find('td:eq(5)').html()); // for Dealer PHP
                    var value5 = (getRow.find('td:eq(0)').html()); // for Dealer PHP

                    $('#item-row').append('<tr><td class="item-name"><textarea value="'+ value +'</textarea></td><td class="item-name"><textarea class="check" name="check[]" value= "' + value1 + ' </textarea> </td><td class="item-name"><textarea value= "' + value2 +' </textarea></td><td class="item-name"><textarea value= "' + value3 + ' </textarea>  </td><td><textarea name="Msrp" value="' + value4 + '</textarea></td><td class="item-name"><textarea class="qty" id="qty" name="qty[]"> </textarea></td><td class="item-name"><textarea id="price" class="price" name="price[]" disabled></textarea></td></tr>');    
                }));


            });


        });

Вопросы есть.Как я могу отправить POST в MySQL с помощью PHP PDO значение приходит из Javascript добавления ??

1 Ответ

0 голосов
/ 09 октября 2018

Вам нужно поместить любые входные данные в форму, а затем создать PHP-скрипт, который обрабатывает запрос POST и вставляет данные в вашу базу данных MySQL.

Ваш тег формы должен выглядеть примерно так:

<form class="post-form" action="script_that_handles_post.php" method="post">

Итак, вы захотите использовать $_POST[''].Например, name в вашей первой строке таблицы - name="check", вы будете использовать $_POST['name'], чтобы получить значение этого поля.Сделайте это для каждого поля, которое вы хотите сохранить.Желательно, чтобы вы хранили каждый из них в своих переменных или массиве.

Тогда для вашего AJAX вам нужно будет как-то включить библиотеку.Если вы этого еще не сделали, поместите это в нижний колонтитул под источником jquery:

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>

Теперь вы можете добавить свой запрос AJAX POST.Вот некоторый код, который должен это делать:

$(".post-form").submit(function (event) {
    var $form = $(this);
    var serializedData = $form.serialize();
    request = $.ajax({
        url:$form.attr('action'),
        type:'POST',
        data: serializedData
    });
    request.fail(function (jqXHR, errorThrown){
        console.error(
            "Error: " + errorThrown
        );
    });
    request.always(function () {
        $inputs.prop("disabled", false);
    });
    event.preventDefault();
});

Этот код выполняет путь action вашей формы и публикует данные из входов полей там.

Надеюсь, это поможет.

...