Обновление MySQL строки автоматически при изменении - PullRequest
0 голосов
/ 15 июля 2010

У меня есть своего рода админ-панель, где я хочу иметь возможность изменять статус заказов клиентов в режиме реального времени без обновления или изменения страницы. Я понял, что для этого мне нужно использовать Javascript, AJAX или jQuery, но, поскольку у меня нет такого опыта, и у меня нет времени, чтобы узнать все, что я прошу у вас, чтобы помочь в достижении этого.

Мой код:

<form>
    <select name="status">
        <option value="0">Ej verifierad</option>
        <option value="1">Väntar på betalning</option>
        <option value="2">Postas ASAP</option>
        <option value="3">POSTAD!</option>
        <option value="4">Annulerad</option>
    </select>
</form>

Статус заказа хранится в базе данных MySQL.

Обратите внимание, что у меня будет много форм на одной странице, и я хочу обновить только ту, которая изменена, но непосредственно, когда я изменю ее.

Заранее спасибо за ответы.

1 Ответ

3 голосов
/ 15 июля 2010

обязательно используйте jQuery.Это самый простой способ совершать AJAX-вызовы ... которые выполняются в JavaScript.Итак, я думаю, что лучший ответ, вам понадобятся все три!

Сделайте так, чтобы страница PHP принимала параметры POST, и вместо отправки вашей формы с action="myFormResponder.php" и method="post" оставьте их без изменений, ипоместите это в верхней части вашей веб-страницы (перед закрывающим тегом </head>):

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#myForm').submit(function(){
            $.post("myFormResponder.php",$('#myForm').serialize(), function(data, textStatus, xhr){
                // Do whatever you need here to update your page when the AJAX call finishes
            });
            return false; // Cancel default submit action
        });
    });
</script>

Также см .: Документация jQuery: $ .post () .Это поможет вам понять, как работать с данными, переданными обратному вызову.

Я в основном заменил событие onsubmit своим собственным обработчиком событий.Если вы хотите отвечать каждый раз, когда изменяется элемент управления select, вместо этого просто прикрепите обработчик к событию change(), например:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        // NOTE CHANGE IN NEXT TWO LINES
        $('select').change(function(){
            $.post("myFormResponder.php",{status: $(this).val()}, function(data, textStatus, xhr){
                // Again, do what ya gotta do, if ya gotta do it
            });
            return false; // Cancel default submit action
        });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...