arbuzmaster
Цитата |
Ваша задача, написать на JavaScript функцию, которая будет срабатывать по нажатию на кнопку "Удалить" В этой функции нужно собрать все данные из формы и отправить их при помощи ajax запроса на сервер к скрипту php, который произведет действия по удалению данных из таблицы, затем сформирует новый html код вашей таблицы (на основе уже новых данных) и отправит его обратно, в ту страницу из которой был подан ajax запрос, в функцию .done(success). где Вы его примете (html код) и вставите в нужный div id="id_table". Примерно так должен отработать ajax |
success: function(data){
$("#TransTable").html(data);
}
<script>$(document).ready(function(){
$("#filterButtom").onclick(function(){
var filter = $("#filterButtom").val();
$.ajax({
url: "TransTable.php",
type: "POST",
data: ({filter: filter}),
success: function(data){
$("#TransTable").innerHTML(data);
}
});
});
});</script>
Цитата |
ajax не не работает, а не используется. При удалении вы отправляете POST запрос, соответственно после страница обновляется и данные из фильтра пропадают. Вам нужно отправлять POST запрос через ajax с данными "delete: true, check: ключи из поля check[]" на transactions.php, при успешном завершении скрывать tr с удаленной записью. |
var filter = $("#filterButtom").val();
<input type="submit" name="filter" id="filterButtom" value="Фильтровать">
Цитата |
В этой функции нужно собрать все данные из формы и отправить их при помощи ajax запроса на сервер к скрипту php |
$("#filter").submit(function(){
var str = $(this).serialize();
$.ajax( { type: "POST", url: "TransTable.php", data: str, success: function(data){ ..............
Цитата |
Parse error: syntax error, unexpected end of file in С: \openserverultimatopenserver domains pergrowthapaneltranstable-php on line 53 |
<?php
session_start();
$idUser=$_SESSION['id'];
if (isset($_POST['filter'])) {
$dateStart = htmlspecialchars($_POST['fromDate']);
$dateEnd = htmlspecialchars($_POST['beforeDate']);
$typ = htmlspecialchars($_POST['filterTyp']);
$categ = htmlspecialchars($_POST['filterCateg']);
$account = htmlspecialchars($_POST['filterAccount']);
$organ = htmlspecialchars($_POST['filterOrganiz']);
$idTrans=htmlspecialchars($_POST['idTrans']);
require "../verification/connect.php";
$where = [];
$where[] = isset($_POST['fromDate']) ? "t.data >='$dateStart'" : "t.data >= '".date('Y-m-01')."'";
if(!empty($_POST['beforeDate'])) $where[] = "t.data <'$dateEnd'";
if(!empty($_POST['filterTyp'])) $where[]="t.typ ='$typ'";
if(!empty($_POST['filterCateg'])) $where[]="t.idCateg ='$categ'";
if(!empty($_POST['filterAccount'])) $where[]="t.idScore ='$account'";
if(!empty($_POST['filterOrganiz'])) $where[]="t.idOrg ='$organ'";
$sqlTrans="SELECT t.idTrans, t.typ, t.data, t.Sum,t.comment, t.delet, score.score, Categoria.category, subcategory.subcategory, organization.organization
FROM transactions AS t
LEFT JOIN score ON score.idScore = t.idScore
LEFT JOIN Categoria ON Categoria.idCateg = t.idCateg
LEFT JOIN subcategory ON subcategory.idSubCat = t.idSubCat
LEFT JOIN organization ON organization.idOrg = t.idOrg
WHERE
t.idUser='$idUser' AND t.delet = '0' AND
( ".implode(' AND ', $where)." )
ORDER BY t.data ASC";
$queryTrans=mysql_query($sqlTrans) or die(mysql_error());
$transactions=array();
while($rowTrans = mysql_fetch_array($queryTrans))
{
$transactions[]=$rowTrans;
}
return $transactions;
foreach ($transactions as $transact)
{
echo"<tr>";
echo"<td><input type='checkbox' data-id=".$transact['idTrans']." name='check[]'' class ='qwe' value=".$transact['idTrans']."></td>";
echo"<td>".date('d.m', strtotime($transact['data']))."</td>";
echo"<td>".$transact['typ']."</td>";
echo"<td>".$transact['score']."</td>";
echo"<td>".$transact['category']."</td>";
echo"<td>".$transact['subcategory']."</td>";
echo"<td>".$transact['organization']."</td>";
echo"<td>".$transact['Sum']."</td>";
echo"<td>".$transact['comment']."</td>";
echo"<td>Изменить</td>";
echo"</tr>";
}
?>