Показать сообщение отдельно
  #1 (permalink)  
Старый 08.02.2016, 15:45
Новичок на форуме
Отправить личное сообщение для darius32bit Посмотреть профиль Найти все сообщения от darius32bit
 
Регистрация: 08.02.2016
Сообщений: 8

Реализация в AJAX
Я пытаюсь это реализовать в 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 или может посоветуете как-то подругому выбирать элементы в таблице, и удалять их без перезагрузки страницы?
Зарание спасибо!
Ответить с цитированием