Я пытаюсь это реализовать в AJAX
У меня есть таблица данные которой вытягиваю из базы.
<div class="block-content collapse in">
<div id="tab" class="span12">
<table cellpadding="0" cellspacing="0" border="0" class="table tablestriped table-bordered" id="example">
<thead>
<tr>
<th>Регион</th>
<th>Школа</th>
<th>школа</th>
<th>Персона</th>
<th>Учитель</th>
<th>Контакт персона</th>
<th>Номер</th>
<th>Эл-почта</th>
<th>Дата</th>
<th>Кол-во ночующих</th>
<th>*Выборка</th>
</tr>
</thead>
<tbody>
<?php
$connect=mysqli_connect ("localhost", "darius","qwerty", "competition") or die ("Could not connect to mysql!");
$query=mysqli_query($connect, "SELECT * FROM registration_page WHERE class LIKE '9%' ORDER BY registration_page.member ");
while ($reg_list=mysqli_fetch_array($query))
{
if(empty($reg_list['overnight_period']))
{
$reg_list['overnight_period']="-";
}
if(empty($reg_list['number_of_overnight']))
{
$reg_list['number_of_overnight']="-";
}
echo '<tr>';
echo '<td>' .$reg_list['region']. '</td>';
echo '<td>' . $reg_list['school']. '</td>';
echo '<td>' . $reg_list['class'] . '</td>';
echo '<td>' . $reg_list['member'] . '</td>';
echo '<td>' . $reg_list['teacher'] . '</td>';
echo '<td>' . $reg_list['cont_member']. '</td>';
echo '<td>' . $reg_list['number_ph'] . '</td>';
echo '<td>' . $reg_list['email'] . '</td>';
echo '<td>' .$reg_list['overnight_period']. '</td>';
echo '<td>' .$reg_list['number_of_overnight']. '</td>';
echo '<td><input type="checkbox" name="'.$reg_list['id'].'" form="form1"></td>';
echo '</tr>';
}
?>
</tbody>
</table>
<form id="form1" action="include/delete.php">
<input type="sumbit" value="Удалить">
</form>
</div>
</div>
в поле "*Выборка" я создаю checkbox'ы для того чтобы потом помечать кого хочу удалить из таблицы.
Потом работаю с этим checkbox'ами через GET в php скрипте:
//delete.php
<?php
header('Content-Type: text/html; charset=utf-8');
$connect=mysqli_connect ("localhost", "darius","qwerty", "competition") or die ("Could not connect to mysql!");
if(empty($_GET))
{
echo 'Ни один ученик не был выбран!';
}
else
{
$seccess=0;
foreach ($_GET as $key=>$value)
{
if($query=mysqli_query($connect,"DELETE FROM registration_page WHERE id='$key'"))
{
$seccess++;
}
else
{
$error=true;
break;
}
}
if($error)
{
echo 'Ошибка при удалении!<br>Успешных удалений: '.$seccess;
}
else
{
echo 'Элементы были удалены!<br>Успешных удалений: '.$seccess;
}
}
?>
<meta http-equiv="refresh" content="2;URL=/admin/">
Это конечно всё устарело, пишу как в каменном веке, с обновлениям страниц и обратной переадресацией))
По этому и хочу это всё посадить на AJAX.
Вот мои попытки:
В форме атрибут тип тэга input прописываю как button, добавляю id="smt"
<form id="form1" action="include/delete.php">
<input type="button" value="Dzest" id="smt">
</form>
так же div'у с классом span12 добавляю id="tab"
<div class="block-content collapse in">
<div id="tab" class="span12">
<table cellpadding="0" cellspacing="0" border="0" class="table tablestriped table-bordered" id="example">
<thead>
<tr>
....
</tr>
</thead>
<tbody>
<?php
....
?>
</tbody>
</table>
<form id="form1" action="include/delete.php">
....
</form>
</div>
</div>
Далее прописываю JQuery скрипт:
$(document).ready(function()
{
var form=$("#form1");
$("#smt").click(function()
{
$.ajax(
{
type:"POST",
url:form.attr("action"),
data:$("#form1 input").serialize(),
success: function(html)
{
$("#tab").html(html);
}
});
return false;
});
});
Я так понимаю что у меня ничего не происходит так как строчка
data:$("#form1 input").serialize(),
должна забирать значения input'ов из тэга value. Но моя обработка нажатых checkbox'ов работает с тэгом name и значение передаётся в виде ON
Тоесть в адресной строке будет: ...delete.php?1=ON
Может кто знает как реализовать подобное в AJAX или может посоветуете как-то подругому выбирать элементы в таблице, и удалять их без перезагрузки страницы?
Зарание спасибо!