Как автоматически сохранить выделение в ComboBox в MYSQL в PHP без кнопки отправки? - PullRequest
0 голосов
/ 07 октября 2011

У меня нет опыта работы с jquery и ajax, пока я просто ищу источник и редактирую, вставляю код в мою кодировку. Сейчас я пытаюсь найти учебник по выбору комбинированного списка, но не могу его найти. Может кто-нибудь мне помочь? Я только сделал с отображением записи MYSQL, но я не знаю, как автоматически обновить выделение combobox нито MYSQL с помощью jquery. Например, я хочу выбрать статус бронирования, когда я выбираю «Подтвердить» из выпадающего списка, он автоматически сохраняется в MYSQL без нажатия кнопки «Отправить».

<?php

include('config.php');

$per_page = 9; 

if($_GET)
{
$page=$_GET['page'];
}



//get table contents
$start = ($page-1)*$per_page;
$sql = "SELECT bookingID,eventinfo.eventTitle,boothAlias,testbook.bstatus,date, testbook.username, customer.companyName, customer.contactName from eventinfo, testbook, customer where testbook.username=customer.username AND testbook.eventID=eventinfo.eventID order by date desc limit $start,$per_page";
$rsd = mysql_query($sql);
?>

<form method="post" name="form">
<table width="800px">

    <?php
    //Print the contents

    while($row = mysql_fetch_array($rsd))
    {

        $id=$row['companyName'];
        $contactName=$row['contactName'];
        $eventTitle=$row['eventTitle'];
        $date=$row['date'];
        $status=$row['bstatus'];
        $booth=$row['boothAlias']

    ?>
    <tr><td style="color:#B2b2b2; padding-left:4px"><?php echo $id; ?></td><td><?php echo $contactName; ?></td>
    <td><?php echo $eventTitle; ?></td><td><?php echo $booth; ?></td><td><?php echo $date; ?></td><td><select name='status' id='status'>
        <option value='-1'>--Select--</option>
    <option value='0'>Approve</option>
    <option value='1'>Reject</option>
    <option value='2'>Pending</option>
    </select></td>
    </tr>
    <?php
    } 
    ?>
</table>
</form>

изображение

Ответы [ 2 ]

1 голос
/ 07 октября 2011

сделать это

<select name='status' id='status'>
        <option value=''>--Select--</option>
        <option value='0'>Approve</option>
        <option value='1'>Reject</option>
        <option value='2'>Pending</option>
</select>
<div id="autosavenotify"></div>

<script>
$(document).ready(function(){
$('select').live('change',function () {
        var statusVal = $(this).val();
        alert(statusVal);
        $.ajax({
                 type: "POST",
                 url: "saveStatus.php",
                 data: {statusType : statusVal },
                 success: function(msg) {
                     $('#autosavenotify').text(msg);
                 }
      })
  });
});
</script>

на saveStatus.php сделать обновление MySQL

<?php

 $st=$_POST['statusType'];
 $qry =" UPDATE tableName SET `tablefield`=$st .. ";
 $done = mysql_query($qry);
 if($done)
 {
   echo "Saved Successfully";
 }
?>
0 голосов
/ 07 октября 2011

Моим первым предположением будет использование события onChange в элементе select, например.<select name='status' id='status' onChange='updateMySQL();'>

в updateMySQL() Вы можете вызвать внешний скрипт для сохранения данных в базе данных.Хотя я не уверен, что добьюсь этого, это всего лишь предположение.удачи в поиске решения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...