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

> Фильтрации таблицы с помощью php запросов, Данные необходимо чтобы обновлялись
rusline  
 ۩  Дата
Цитировать сообщение

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



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

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




sergeiss
Данный возвращает данные таблицы,
header('location: transactions.php'); после нажатие на кнопку фильтрации, должно перенаправить пользователя опять туда где он находился ранее.
И закрываем соединение с базой данных
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
rusline  
 ۩  Дата
Цитировать сообщение

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



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

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




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

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



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

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




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

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



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

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




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

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



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

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




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

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



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 20 дней
Карма: 470




Цитата (rusline @ 18.12.2016 - 15:57)
header('location: transactions.php'); после нажатие на кнопку фильтрации, должно перенаправить пользователя опять туда где он находился ранее.
И закрываем соединение с базой данных

Проблема в том, что перед header() у тебя находится return - поэтому до строчки с header() и к закрытию соединения с БД выполнение кода просто не дойдет.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

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

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



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

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




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

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



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

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




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

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



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

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




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

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



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15383
Пользователь №: 4190
На форуме: 9 лет, 4 месяца, 20 дней
Карма: 470




rusline, ты определись с логикой, что ты хочешь получить. Опиши словами. И лучше в одном сообщении, чтобы был связный текст smile.gif А не в 3-5 разных сообщениях.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
[x] Дата
Цитировать сообщение

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



Чтобы все !
******

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




Портянка
посмотреть
<?php

//Отображение транзакции
function getTarget()
{
session_start();
$idUser=$_SESSION['id'];
$startCurrentMonth=date('Y-m-01');
$endCurrntMonth=date('Y-m-31');
$sqlTrans="
SELECT transactions.typ, transactions.data, transactions.Sum,transactions.comment, score.score, Categoria.category, subcategory.subcategory, organization.organization
FROM transactions
LEFT JOIN score ON score.idScore = transactions.idScore
LEFT JOIN Categoria ON Categoria.idCateg = transactions.idCateg
LEFT JOIN subcategory ON subcategory.idSubCat = transactions.idSubCat
LEFT JOIN organization ON organization.idOrg = transactions.idOrg
WHERE
transactions.idUser='
$idUser' AND data BETWEEN '$startCurrentMonth' AND '$endCurrntMonth'
ORDER BY data DESC"
;

/*
Запрос в мускуль это треш капитальный !, кто называет таблицы и поля одним и тем же названием ???
пример: ( score.score, subcategory.subcategory, organization.organization ),

неужели трудно добавить символ куда нибудь?
пример: ( t_score.score, t_subcategory.subcategory, t_organization.organization ),
где: `t_score` - Таблица, `score` - ячейка, так понятнее и не будет путаницы чего куда и где

Далее, почему НЕ используем тильду ???, жалко места в блокноте? или на сервере?

$sqlTrans="
SELECT
`transactions`.`typ`, `transactions`.`data`, `transactions`.`Sum`, `transactions`.`comment`,
`score`.`score`, `Categoria`.`category`, `subcategory`.`subcategory`, `organization`.`organization`
FROM
`transactions`
LEFT JOIN
`score` ON `score`.`idScore` = `transactions`.`idScore`
LEFT JOIN
`Categoria` ON `Categoria`.`idCateg` = `transactions`.`idCateg`
LEFT JOIN
`subcategory` ON `subcategory`.`idSubCat` = `transactions`.`idSubCat`
LEFT JOIN
`organization` ON `organization`.`idOrg` = `transactions`.`idOrg`
WHERE
`transactions`.`idUser` = '" . $idUser . "'
AND
`data` BETWEEN '" . $startCurrentMonth . "' AND '" . $endCurrntMonth . "'
ORDER BY `data` DESC";

Да текста больше согласен, но понятнее где команды, где переменные и т.д.

*/



$queryTrans = mysql_query($sqlTrans) or die(mysql_error());
$transactions = array();
while($rowTrans = mysql_fetch_array($queryTrans))
{
$transactions[]=$rowTrans;
}
return $transactions;
}

$transactions = getTarget(); // получили результат $transactions по дефолту за текущий месяц из функции getTarget(), на сколько я понял...

// Начались проверки POST данных...

if (isset($_POST['week'])) {
$dateStart = new date("last monday");
$dateEnd = new date("next monday");
} elseif (isset($_POST['month'])) {
$dateStert = new date("mignight first day of this month");
$dateEnd = new date("mignight first day of next month");
} else {
$dateStart = new date("first day of january");
$dateEnd = new date("first day of january next year");
}

/*
И тут же запрашивается НОВЫЙ результат $transactions, согласно POST параметрам...
Назревает вопрос !, зачем делать это: $transactions = getTarget();, если все равно по условию "else", переменные $dateStart, $dateEnd,
получат..., кстати непонятно что они получат, ТАКОЕ: new date("first day of january") - работает? или все же какой то свой класс используется ?
в яндексе гуглил - ненашел ((...
так вот, после условия else, все равно выполнится функция filter..., в общем непонятно малость логика сего.
*/

$transactions = filter($dateStart, $dateEnd);


/*
код ниже - непонятно для чего используется переменная $i
*/


$i=1;
while ($row=mysql_fetch_assoc($query)) {
echo "<option value=".$row['idScore'].">".$row['score']."</option>";
$i++;
}

/*
Не стоит так писать - foreach ($transactions as $transact)
если нет воображения для генерации переменных, то для того что бы не "сливались" имена, пишите что оно есть на самом деле, т.е.
foreach ( $transactions as $transactions_key => $transactions_value )

Почему не ставим ; в конце ? тоже экономим место?
Пишите код "просторнее", самому же читать потом, а то выглядит как - "вырвиглаз"...

<td><?=$transact['typ']?></td> // bad boy
<td><?=$transact['typ']; ?></td> // good boy

*/

?>

<!-- Часть кода где ппц натыкано "открытий закрытий PHP", ИМХО - читать тяжело -->
<
div id="organizationBox">
<
select name="organization">
<?php foreach ($organization as $organ): ?>
<option value="<?=$organ['idOrg']?>"><?=$organ['organization']?></option>
<?php endforeach; ?>
</select>
</
div>

<!--
Часть кода ИМХО - более читабельно, но на вкус и цвет как говорится... -->
<
div id="organizationBox">
<
select name="organization">
<?php
foreach ($organization as $organ){
echo '<option value="' . $organ['idOrg'] . '">' . $organ['organization'] .'</option>';
}
?>
</select>
</
div>
На фото, вы уже определитесь с кавычками либо двойные либо одинарные, в некоторых местах и те и другие и там где не нужно... ( по подсветки синтаксиса, видно, что пошло "что то" не так...)

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

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

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



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

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




Вот ссылка на исходник Исходник
То есть я хочу получить обычную фильтрацию данных.То есть изначально у пользователя выводятся в таблицу только текущего месяца операции, но он может выбрать за любой период времени, допустим за месяц или за целый год. В input он указывает за какой промежуток времени он хочет получить данные, допустим за "Март 2016 год", то таблица обновляется и выводит все операции за "Март 2016 год", если пользователь захочет потом допустим за весь год посмотреть записи, указывает в input за 2016 год и все записи обновляются в таблице и выводят все операции за 2016 год

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

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



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

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




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

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



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

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




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

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



Чтобы все !
******

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




rusline
Самое счастливое решение проблемы cool.gif

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

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

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