Задать вопрос
Sadyrbaev
@Sadyrbaev

Удаление строки из базы данных, почему не работает через ajax?

Мне нужно удалять строку из таблицы mysql с ajaxом, чтобы удалившись на странице сразу же появилась новая таблица уже без удаленной строки.
elseif ($delete == 'true') {

	$id = $_GET['id'];

	$link = $_GET['link'];

	$delArticles = "DELETE FROM articles WHERE ID = '$id'";

	mysqli_query($conn, $delArticles);

	unlink('../pages/' . $link . '.php');

	$selArticles1 = "

SELECT 
`id`, 
`title`, 
`description`, 
`link` 
FROM 
`articles`

";

	$res = mysqli_query($conn, $selArticles1);

	while ($rob = mysqli_fetch_array($res)) {

		$tor[] = "<tr><td>$rob[0]</td><td>$rob[1]</td><td>$rob[2]</td><td>$rob[3]</td></tr>";
	}

	$tor2 = implode("", $tor);

	echo json_encode("<table class='uk-table uk-table-small uk-table-divider uk-table-hover uk-table-justify'><tr style='font-weight: bold;'><td>ФИО</td><td>Должность</td><td>Дата рождения</td><td>Мобильный номер</td><td>E-mail</td><td>Фото</td></tr>$tor2</table>");

	mysqli_free_result($res);


Это код вывода таблицы на html страницу
$selArticles = "

SELECT 
`id`, 
`title`, 
`description`, 
`link` 
FROM 
`articles`

";

			$getArticles = mysqli_query($conn, $selArticles);
			$num = 1;
			echo '<table class="uk-table uk-table-divider uk-table-hover uk-table-justify"><thead>
	<tr><th>Номер</th><th>Заголовок</th><th>Описание</th></tr>
</thead><tbody>';

			while ($arrArticles = mysqli_fetch_array($getArticles)) {

				echo '<tr>
<td>' . $num++ . '</td>
<td class="uk-table-shrink uk-text-nowrap">' . $arrArticles[1] . '</td>
<td class="uk-text-truncate uk-table-expand">' . $arrArticles[2] . '</td>
<td class="uk-table-shrink"><a class="uk-button uk-button-secondary" href="../pages/' . $arrArticles[3] . '.php">ОТКРЫТЬ</a></td>
<td class="uk-table-shrink"><a class="uk-button uk-button-primary" href="update-article.php?id=' . $arrArticles[0] . '">ИЗМЕНИТЬ</a></td>
<td class="uk-table-shrink"><a getdata="id=' . $arrArticles[0] . '&link=' . $arrArticles[3] . '&delete=true" class="ajax_form" class="uk-button uk-button-danger">УДАЛИТЬ</a></td>
</tr>';
			}

			echo '</tbody></table>
			<div id="result_form">Результат</div>';

			mysqli_free_result($getArticles);
			mysqli_close($conn);


Это ajax
$(document).ready(function() {
		$(".ajax_form").click(
			function() {
				sendAjaxForm('result_form', 'ajax_form', 'create-article.php');
				return false;
			}
		);
	});

	function sendAjaxForm(result_form, ajax_form, url) {
		jQuery.ajax({
			url: url, //Адрес страницы
			type: "GET", //Метод отправки
			dataType: "html", //Формат данных
			data: $(".jax_form").attr('getdata'),
			success: function(response) { //Успешно
				result = JSON.parse(response);
				console.log(result);
				document.getElementById(result_form).innerHTML = result;
			},
			error: function(response) { //Ошибка
				document.getElementById(result_form).innerHTML = "Ошибка";
				console.log(result);
			}
		});
	}


Если меняю обработчик и убираю цикл, просто любую переменную, все работает как надо с ajaxом, но именно цикл через ajax не отображается.

При нажатии эта ошибка
61251275ee472933380117.png
  • Вопрос задан
  • 343 просмотра
Подписаться 1 Средний 19 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы