Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (3) 1 [2] 3  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Обновление данных после удаление
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




arbuzmaster
Цитата
Ваша задача, написать на JavaScript функцию, которая будет срабатывать по нажатию на кнопку "Удалить" В этой функции нужно собрать все данные из формы и отправить их при помощи ajax запроса на сервер к скрипту php, который произведет действия по удалению данных из таблицы, затем сформирует новый html код вашей таблицы (на основе уже новых данных) и отправит его обратно, в ту страницу из которой был подан ajax запрос, в функцию .done(success). где Вы его примете (html код) и вставите в нужный div id="id_table". Примерно так должен отработать ajax

Немного не пойму. В принципе я формирую новый html код используя данный код
success: function(data){
$("#TransTable").html(data);
}

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




У меня почему-то success в этой функции горит по другому, возможно в ней какая-то ошибка, обычно изначально у меня с начало выходит ошибка и затем выводит таблицу
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 957
Пользователь №: 37872
На форуме: 4 года, 1 день
Карма: 37




Вроде все верно, но не нужно все запихивать в функцию filter() и вызывать ее так, как Вы вызываете! Достаточно сделать так:

<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>

И посмотреть в отладчике Chrome F12 - Network-XHR, что происходит при нажатии на filterButtom


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




arbuzmaster
Ничего не выводит.
Вот исходник этих файлов https://www.dropbox.com/s/vsegvcs6m0annq7/T...sTable.zip?dl=0
Примерно в другом форуме написали, что
Цитата
ajax не не работает, а не используется. При удалении вы отправляете POST запрос, соответственно после страница обновляется и данные из фильтра пропадают. Вам нужно отправлять POST запрос через ajax с данными "delete: true, check: ключи из поля check[]" на transactions.php, при успешном завершении скрывать tr с удаленной записью.

Только так как не разу не изучал ajax я не пойму как это написать, ищу ответ, но пока не могу примерно найти решение
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 957
Пользователь №: 37872
На форуме: 4 года, 1 день
Карма: 37




Правильно - не выходит, у Вас здесь, что находится?
var filter = $("#filterButtom").val();

<input type="submit" name="filter" id="filterButtom" value="Фильтровать">

то есть в TransTable.php просто передается слово - Фильтровать, а в TransTable.php нужно передать все параметры, с input-ов, checkbox-ов и так далее!
Вам нужно сделать вот это -
Цитата

В этой функции нужно собрать все данные из формы и отправить их при помощи ajax запроса на сервер к скрипту php

Как собрать параметры с формы и передать, можно почитать здесь например!


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




arbuzmaster
окей, завтра тогда почитаю
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 957
Пользователь №: 37872
На форуме: 4 года, 1 день
Карма: 37




Попробуйте так:

$("#filter").submit(function(){
var str = $(this).serialize();
$.ajax( { type: "POST", url: "TransTable.php", data: str, success: function(data){ ..............


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




arbuzmaster
нет не помогает. Может что-то мешает в коде?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




https://github.com/rusline18/growth.git
Это весь сайт, без дополнительных изменений
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




arbuzmaster
У меня форма только для фильтрации, а другая для удаление. Это не как не влияет на результат отображения?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




arbuzmaster
Я его немного поменял код, теперь пишет ошибку
Цитата
Parse error: syntax error, unexpected end of file in
С: \openserverultimatopenserver domains pergrowthapaneltranstable-php
on line 53

Немного изменил, так начало выводить данные в консоле xhr
Если не качать весь код, то файл TransTable добавил код с функции php
<?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>";
}
?>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




Тогда у меня этот код повторяться с transactions.php в 147 линии
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




arbuzmaster
Я же примерно правильно мыслю?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 957
Пользователь №: 37872
На форуме: 4 года, 1 день
Карма: 37




Должно получиться примерно так:
На странице где выводится таблица, должна быть только форма, без обработчика и пустой div id="test" например под формой.
Обработчик будет в другом файле, куда отправляется ajax запрос, по мимо php кода обработчика формы этот файл будет формировать html код самой таблицы, в зависимости от переданных из формы значений. После того как форма была заполнена и нажата кнопка submit данные попадут в обработчик а в ответ придет html код таблицы, который и нужно будет вставить в div в функции success. Советую Вам попробовать на простом каком нибудь примере, чтобы понять как это работает в принципе.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Пользователь
Сообщений: 66
Пользователь №: 43413
На форуме: 10 месяцев, 3 дня
Карма:




arbuzmaster
Я делал. Но там у меня проблема такая, что изначально у меня выходит сама таблица с изначальными данными. По сути я же должен эту таблицу менять данные. Принцип я понял, что нужно чтобы в div я примерно должен класть ajax запрос. Просто тут для меня слишком все сложно, потому что не сталкивался с такими примерами
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (3) 1 [2] 3  Ответ в темуСоздание новой темыСоздание опроса