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

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

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



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

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




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

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



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1941
Пользователь №: 38654
На форуме: 3 года, 5 месяцев, 21 день
Карма: 46




Ну создай таблицу, в которой для каждой формы будешь хранить последний пост запрос для каждого пользователя. При закрузке формы, пробуй из этой таблицы подтянуть эти данные по пользователю и id формы.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

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

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



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

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




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

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



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 388
Пользователь №: 40589
На форуме: 2 года, 6 месяцев, 20 дней
Карма: 22




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

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



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

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




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

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



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1941
Пользователь №: 38654
На форуме: 3 года, 5 месяцев, 21 день
Карма: 46




Цитата (rusline @ 2.01.2017 - 15:10)
а как примерно это будет выглядеть. то есть в phpMyAdmin я создаю отдельную таблицу с запросами, связываю эти запросы с id пользователя и при том как сессия жива этот запрос будет жить так понимаю? или по другому
И как примерно это будет писаться в коде

я не знаю как это в коде, но это способ, по типу хранения в сессии, про хранилище у тебя не родное пхпшное, а в базе данных. А идентификаторы для id сессий у тебя не пхпшные, а свои на основе id пользователя и id формы.

Если тебе не обязательно храниние данных формы (среднестрочное и долгострочное), то делалай как сказал depp


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

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

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



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

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




Тогда я не знаю ajax, помогите примерно как должно выводить в таблицу запросы.
Вот для примеру исходник. Файл transactions.php тут пользователь видит таблицу

<div id="addBox">
<
form id="form2" method="POST" action="transactions.php">
<
a href="#openModal" id="addText">Добавить</a>
<
label for="delete" id="delet">Удалить</label>
</
form>
<
div id="openModal" class="modalDialog">
<!--
Модальное окно-->
<
div>
<
a href="#close" title="Закрыть" class="close">X</a>
<
h2><center>Добавить операцию</center></h2>
<
form method="POST" action="transactions.php">
<
div>
<
label id="delet">Счет: </label>
<
select name="account" id="account">
<?php foreach ($score as $scores): ?>
<option value="<?=$scores['idScore']?>"><?=$scores['score']?></option>
<?php endforeach; ?>
</select>
<
label>Тип операции: </label>
<
select name="typ">
<
option value="Доход">Доход</option>
<
option value="Расход">Расходы</option>
<
option value="Перевод">Перевод</option>
</
select>
</
div>
<
div>
<
div id="divCateg">
<
select id="left" name="сategoria" class="idCateg" required>
<
option>Выберите категорию</option>
<?php foreach ($categoria as $categ): ?>
<option value="<?=$categ['idCateg']?>"><?=$categ['category']?></option>
<?php endforeach; ?>
</select>
</
div>
<
div class="divSubcat">
<
select id="right" name="subcategory" class="idSubCat" disabled required>
</
select>
</
div>
</
div>
<
div id="organizationBox">
<
select name="organization">
<?php foreach ($organization as $organ): ?>
<option value="<?=$organ['idOrg']?>"><?=$organ['organization']?></option>
<?php endforeach; ?>
</select>
</
div>
<
div id="dataBox">
<
label>Дата и время: </label>
<
input type="date" name="data" id="data">
</
div>
<
div>
<
label id="sum">Введите сумму: </label><input type="text" name="sum" size="8" required>
</
div>
<
br>
<
div id="message">
<
label>Комментарий: </label>
<
textarea name="message" rows="-3" cols="40"></textarea>
</
div>
<
div id="add">
<
input type="submit" class="add" name="add" value="Добавить">
<
a href="#close" class="cancel">Отменить</a>
</
div>
</
form>
</
div>
</
div>
</
form>
<?php deletTrans(); ?>
<!--Фильтр-->
<
form id="filter" method="POST">
<?php
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']);
}
$transactions = filter($dateStart, $dateEnd, $typ, $categ, $account, $idTrans, $organ);
?>
<div id="controls">
<
div id="filter">
<
div id="dataView">
<?php dateView(); ?>
</div>
<
div>
<
input type="submit" name="filter" id="filterButtom" value="Фильтровать">
<
label for="fromDate">От </label><input type="date" name="fromDate" id="fromDate" value="<?=$dateStart ?>" >
<
label for="beforeDate">До </label><input type="date" name="beforeDate" id="beforeDate" value="<?=$dateEnd ?>" >
</
div>
<
div id="filterExtended">
<
div id="filterTyp">
<
select name="filterTyp">
<
option value="" selected>Тип операции</option>
<
option value="Доход">Доход</option>
<
option value="Расход">Расход</option>
<
option value="Перевод">Перевод</option>
</
select>
</
div>
<
div>
<
select id="filterCateg" name="filterCateg" class="filterCateg">
<
option value="" selected>Категорию</option>
<?php foreach ($categoria as $categ): ?>
<option value="<?=$categ['idCateg']?>"><?=$categ['category']?></option>
<?php endforeach; ?>
</select>
</
div>
<
select name="filterAccount" id="filterAccount">
<
option value="" selected>
Счет</option>
<?php foreach ($score as $scores): ?>
<option value="<?=$scores['idScore']?>"><?=$scores['score']?></option>
<?php endforeach; ?>
</select>
<
select name="organization">
<
option value="" selected>Организация</option>
<?php foreach ($organization as $organ): ?>
<option value="<?=$organ['idOrg']?>"><?=$organ['organization']?></option>
<?php endforeach; ?>
</select>
</
div>
</
form>
<
form id="form1" method="POST" action="transactions.php">
<!--
Удаление-->
<
button id="delete" class="hidden" name="delete">Удалить</button>
<
script>delet()</script>
<
table cellpadding="2" cellspacing="0" border="0" id="table_id" class="display">
<
thead>
<
tr>
<
th><input type="checkbox" name="cb_all" value="all" id="all"></th>
<
th>Дата</th>
<
th>Тип</th>
<
th>Счет</th>
<
th>Категория</th>
<
th>Подкатегория</th>
<
th>Организация</th>
<
th>Сумма</th>
<
th>Комментарий</th>
<
th></th>
</
tr>
</
thead>
<
tbody>
<?php foreach ($transactions as $transact): ?>
<tr>
<
td><input type="checkbox" name="check[]" class ="qwe" value="<?=$transact['idTrans']?>"></td>
<
td><?=date('d.m', strtotime($transact['data']))?></td>
<
td><?=$transact['typ']?></td>
<
td><?=$transact['score']?></td>
<
td><?=$transact['category']?></td>
<
td><?=$transact['subcategory']?></td>
<
td><?=$transact['organization']?></td>
<
td><?=$transact['Sum']?></td>
<
td><?=$transact['comment']?></td>
<
td>Изменить</td>
</
tr>
<?php endforeach; ?>
</tbody>
</
table>
</
form>
<
script>
allCheckbox()
sorter()
</
script>
</
div>
</
div>

Второй файл обрабатывается данные с бд function.php
//Фильтры
function filter($dateStart, $dateEnd, $typ, $categ, $account, $idTrans, $organ)
{
session_start();
$idUser=$_SESSION['id'];
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;
}
mysql_close();
return $transactions;
}
//Удаление
function deletTrans()
{
require "../verification/connect.php";
$check = $_POST['check'];
$del = htmlspecialchars($_POST['delete']);
$DeletDate = time();
if (isset($del) && isset($check))
{
$items = [];
foreach ($check as $id) {
$items[] = intval($id);
}
$sqlDelet = "UPDATE transactions SET delet='1', dataDelet = '$DeletDate' WHERE idTrans IN (".implode(', ', $items).")";
$queryDelet = mysql_query($sqlDelet) or die(mysql_close());
}
}

И не могу понять как вывести эти данные в таблицу с помощью ajax
function filter(){
$(document).ready(function(){
$("#filterButtom").bind("click", function(){
var filter = $("#filterButtom").val();
$.ajax({
url: "transactions.php",
type: "POST",
data: ({filter: filter})
success: function(data){
$("#table_id").html(data);
}
}
)
})
})
}

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

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



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

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




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

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



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1941
Пользователь №: 38654
На форуме: 3 года, 5 месяцев, 21 день
Карма: 46




Цитата (rusline @ 3.01.2017 - 11:37)
DataTable

что за инструмент?

а по твоему вопросу

<?php foreach ($transactions as $transact): ?>
<tr>
<
td><input type="checkbox" name="check[]" class ="qwe" value="<?=$transact['idTrans']?>"></td>
<
td><?=date('d.m', strtotime($transact['data']))?></td>
<
td><?=$transact['typ']?></td>
<
td><?=$transact['score']?></td>
<
td><?=$transact['category']?></td>
<
td><?=$transact['subcategory']?></td>
<
td><?=$transact['organization']?></td>
<
td><?=$transact['Sum']?></td>
<
td><?=$transact['comment']?></td>
<
td>Изменить</td>
</
tr>
<?php endforeach; ?>

это нужно в отдельный файл, и отдавать при ajax ответе. <tbody> дать идентификатор, и находить этот элемент, а потом вставлять содержимое из ajax запроса в этот элемент


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

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

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



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

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




chee
Цитата

Цитата (rusline @ 3.01.2017 - 11:37)
DataTable

что за инструмент?

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

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



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

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




У меня не получается, при нажатие на кнопку фильтрации, у меня выходит перезагрузка страницы и соответственно такая же проблеама.

function filter(){
$(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);
}
}
)
})
})
}

И в TransTable.php
<?php foreach ($transactions as $transact): ?>
<tr>
<
td><input type="checkbox" data-id="<?=$transact['idTrans']?>" name="check[]" class ="qwe" value="<?=$transact['idTrans']?>"></td>
<
td><?=date('d.m', strtotime($transact['data']))?></td>
<
td><?=$transact['typ']?></td>
<
td><?=$transact['score']?></td>
<
td><?=$transact['category']?></td>
<
td><?=$transact['subcategory']?></td>
<
td><?=$transact['organization']?></td>
<
td><?=$transact['Sum']?></td>
<
td><?=$transact['comment']?></td>
<
td>Изменить</td>
</
tr>
<?php endforeach; ?>

И как сказал, что нужно tbody установить id
<script>filter()</script>
<
table cellpadding="2" cellspacing="0" border="0" id="table_id" class="display">
<
thead>
<
tr>
<
th><input type="checkbox" name="cb_all" value="all" id="all"></th>
<
th>Дата</th>
<
th>Тип</th>
<
th>Счет</th>
<
th>Категория</th>
<
th>Подкатегория</th>
<
th>Организация</th>
<
th>Сумма</th>
<
th>Комментарий</th>
<
th></th>
</
tr>
</
thead>
<
tbody id="TransTable">
<?php foreach ($transactions as $transact): ?>
<tr>
<
td><input type="checkbox" data-id="<?=$transact['idTrans']?>" name="check[]" class ="qwe" value="<?=$transact['idTrans']?>"></td>
<
td><?=date('d.m', strtotime($transact['data']))?></td>
<
td><?=$transact['typ']?></td>
<
td><?=$transact['score']?></td>
<
td><?=$transact['category']?></td>
<
td><?=$transact['subcategory']?></td>
<
td><?=$transact['organization']?></td>
<
td><?=$transact['Sum']?></td>
<
td><?=$transact['comment']?></td>
<
td>Изменить</td>
</
tr>
<?php endforeach; ?>
</tbody>
</
table>

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

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



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

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




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

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



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

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




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

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



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

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 942
Пользователь №: 37872
На форуме: 3 года, 10 месяцев, 28 дней
Карма: 36




Что это ?

<script>filter()</script>



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


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

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



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

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




arbuzmaster
Цитата
Что это ?

<script>filter()</script>

Переход на эту функцию
function filter(){
$(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);
}
}
)
})
})
}


Это сообщение отредактировал rusline - 6.01.2017 - 15:10
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  Ответ в темуСоздание новой темыСоздание опроса