отправлять данные при нажатии кнопки из javascript в базу данных

Поэтому у меня есть страница php, которая получает данные из базы данных и отображает таблицу. Каждый тд символизирует место в кинотеатре. То, что я хочу сделать, – это когда пользователь нажимает один или несколько tds и нажимает кнопку send, столбец статуса для каждого td в базе данных изменяется на 1 от 0 (по умолчанию). Когда доступ к базе данных будет получен в следующий раз, у td со статусом = 1 будет другой цвет. Мой код до сих пор:

<div id="screen">SCREEN</div> <div id="Seatings"> <?php echo "<table border='1'> <tr> <th>Seating</th> </tr>"; $count=0; echo "<tr>"; echo"<td id='Seat_rn'>A</td>"; while($row = mysql_fetch_array($sql)) { if($count<10){ echo "<td id='Seat_A' class='count'>" . $row['Seat'] . "</td>"; } $count++; } echo "</tr>"; $sql=mysql_query("SELECT * FROM Seating_para_20 Where Seat > '10'"); echo "<tr>"; echo"<td id='Seat_rn'>B</td>"; while($row = mysql_fetch_array($sql)) { if($count>=10){ echo "<td id='Seat_B' class='count'>" . $row['Seat'] . "</td>"; } $count++; } echo"</tr>"; echo "</table>"; ?> </div> <input type="button" value="Done" name="done" onclick="window.close()"> 

Мой код jquery:

  $("td #Seat_A").click(function(){ $(this).css("background", "red"); }); $("td #Seat_B").click(function(){ $(this).css("background", "red"); }); $(document."done").click(function(){ alert(price:750 Baht); }) 

Я нигде не приближаюсь к тому, что хочу, и мне жаль, если какой-либо из моих кодов «amatuer-ish», но я новичок в этом, и я очень стараюсь. Поблагодарите любую помощь, которую я смогу получить.

Прежде всего, вы должны добавить ID для каждого TD на свой стол, то есть Seat ID , например:

 echo "<td id='Seat_A' data-seat='". $row['id'] ."'class='count'>" . $row['Seat'] . "</td>"; 

Затем отправьте этот идентификатор в ваш PHP-скрипт с помощью Ajax:

 $("td #Seat_A").click(function(){ var seat_number = $(this).data("seat"); $.ajax({ type: 'POST', url: "/take_a_seat.php", data: 'seat_number='+seat_number, success: function(data){ $(this).css("background", "red"); } dataType: "json" }); }); 

На скрипте PHP вы должны делать то, что хотите, с этим идентификатором и возвращать true или false в результате. Предположим, у вас есть поле с именем, reserved в вашей таблице базы данных. Вы можете получить уникальный идентификатор и обновить эту строку до reserved = 1 например.

Попробуйте этот простой в использовании сценарий ajax для выполнения вашей задачи

Особенности: вы можете показать gif img перед отправкой данных в db в разделе beforeSend
получить ответ от php-файла в разделе success
скрыть img после вставки данных в db в complete разделе и показать успешный или не удачный сообщение

 var myVar = 'your desire data you want to send to db'; $.ajax({ type: "POST", url:"scripts/dummy.php", data:"myVar="+myVar, beforeSend: function() { }, success: function(resp) { }, complete: function() { }, error: function(e) { alert('Error: ' + e); } }); //end Ajax 

Javascript – клиентская сторона. Ваша база данных является серверной. Поэтому вам нужно использовать php для изменения записей в базе данных.

Короче говоря, если вы хотите выполнить PHP-материал без перегрузки страницы, чем использовать AJAX. Вы можете использовать его с вашим любимым JQuery .

Это обзор. Для существующих записей вам должно быть что-то вроде этого

  <?php $count=1; $res = mysql_query("SELECT * FROM Seating_para_20 Where Seat > '10'"); while($row = mysql_fetch_array($sql)) { if($row['status']==1) { $tdcolor = 'red'; } else { $tdcolor = 'blue'; } ?> <td id="td-<?php echo $count;?>" sytle="background-color:<?php echo $tdcolor; ?>" onclick="reserveseat(<?php echo $count; ?>);" > <?php $count++; } ?> 

Для изменения загрузки страницы вы будете выполнять операцию ajax

  <script type="text/javascript" language="javascript"> function reserveseat(count) { $.ajax({ type: 'POST', url: "bookseat.php", data: '', success: function(data){ $("#td-"+count).css("background-color", "red"); } }); } </script> 

В bookseat.php вы измените статус … 🙂 Читайте об аяксе отсюда . 🙂