К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Программист на php, который не чурается баз текстово-файловых, нужен...

0 - 23.01.2018 - 13:05
Есть база файловая, с построчными данными, из которых отчёты создать с помощью php необходимо, да вычленить список слов из одной колонки чаще всего употребляемых.

Базы кусок прилагается:

¤1501762917¦31¦03.08.2017-15:21:57¦+¦20000¦8000¦2000¦2000¦2000¦2000¦285.71¦2 000¦2000¦def¦Четверг¦прихо䦦¦
¤1501762946¦31¦03.08.2017-15:22:26¦-¦-1000¦¦¦¦¦¦¦¦¦def¦Четверг¦подарк覦¦
¤1501762992¦31¦03.08.2017-15:23:12¦-¦-730¦¦¦¦¦¦¦¦¦def¦Четверг¦едদ¦
¤1501763042¦31¦03.08.2017-15:24:02¦-¦¦-8000¦¦¦¦¦¦8000¦¦pays¦Четверг¦pays›rf¦¦¦
¤1501763060¦31¦03.08.2017-15:24:20¦-¦¦¦¦¦¦-100¦¦100¦¦far¦Четверг¦far›rf¦¦¦<br>
¤1501763078¦31¦03.08.2017-15:24:38¦-¦¦¦¦¦¦-900¦¦900¦¦far¦Четверг¦far›rf¦¦¦<br>
¤1501834079¦31¦04.08.2017-11:07:59¦+¦2730¦1110¦270¦270¦270¦270¦38.57¦270¦270 ¦def¦Пятница¦прихо䦦¦
¤1501834104¦31¦04.08.2017-11:08:24¦-¦¦-1000¦¦¦¦¦¦¦¦pays¦Пятница¦возврат¦¦¦
¤1501834132¦31¦04.08.2017-11:08:52¦-¦¦-110¦¦¦¦110¦¦¦¦pays¦Пятница¦pays›far¦¦¦
¤1501835384¦31¦04.08.2017-11:29:44¦-¦¦¦¦¦¦¦¦-1270¦1270¦rf¦Пятница¦rf›target¦¦¦
¤1501840697¦31¦04.08.2017-12:58:17¦-¦-110¦¦¦¦¦¦¦¦¦def¦Пятница¦едদ¦
¤1501849098¦31¦04.08.2017-15:18:18¦+¦¦¦110¦¦¦¦¦¦¦now¦Пятница¦прихо䦦¦
¤1502187944¦32¦08.08.2017-13:25:44¦-¦-7600¦¦¦¦¦¦¦¦¦def¦Вторник¦отдых¦¦¦
¤1502187976¦32¦08.08.2017-13:26:16¦-¦¦¦¦¦¦¦¦1680¦-1680¦target¦Вторник¦target›rf¦¦¦
¤1502188038¦32¦08.08.2017-13:27:18¦+¦¦¦¦¦¦¦¦¦750¦target¦Вторник¦прихо䦦¦
¤1502351827¦32¦10.08.2017-10:57:07¦+¦¦¦¦¦¦¦¦¦2000¦target¦Четверг¦прихо䦦¦
¤1502351852¦32¦10.08.2017-10:57:32¦-¦¦¦¦¦¦¦¦¦-3900¦target¦Четверг¦инструмент¦¦¦
¤1502351878¦32¦10.08.2017-10:57:58¦-¦-300¦¦¦¦¦¦¦¦¦def¦Четверг¦едদ¦
¤1502351899¦32¦10.08.2017-10:58:19¦-¦¦¦¦¦¦¦¦300¦-300¦target¦Четверг¦target›rf¦¦¦
¤1502351916¦32¦10.08.2017-10:58:36¦-¦¦¦950¦¦¦¦¦¦-950¦target¦Четверг¦target›now¦¦¦
¤1502451723¦32¦11.08.2017-14:42:03¦-¦-200¦¦¦¦¦¦¦¦¦def¦Пятница¦едদ¦
¤1502451729¦32¦11.08.2017-14:42:09¦-¦-200¦¦¦¦¦¦¦¦¦def¦Пятница¦подарк覦¦
¤1502451785¦32¦11.08.2017-14:43:05¦-¦¦¦¦¦¦¦¦-10000¦¦rf¦Пятница¦обучени妦¦
¤1502701947¦33¦14.08.2017-12:12:27¦-¦-350¦¦¦¦¦¦¦¦¦def¦Понедельник¦едদ¦
¤1502703345¦33¦14.08.2017-12:35:45¦-¦¦¦200¦¦¦¦¦¦-200¦target¦Понедельник¦target›now¦¦¦
¤1502796990¦33¦15.08.2017-14:36:30¦-¦-50¦¦¦¦¦¦¦¦¦def¦Вторник¦проез䦦¦
¤1502797012¦33¦15.08.2017-14:36:52¦-¦-100¦¦¦¦¦¦¦¦¦def¦Вторник¦едদ¦
¤1502797137¦33¦15.08.2017-14:38:57¦+¦6000¦2400¦600¦600¦600¦600¦85.71¦600¦600 ¦def¦Вторник¦прихо䦦¦
¤1502797158¦33¦15.08.2017-14:39:18¦-¦¦600¦¦¦¦-600¦¦¦¦far¦Вторник¦far›pays¦¦¦
¤1502886036¦33¦16.08.2017-15:20:36¦-¦¦-3000¦¦¦¦¦¦¦¦pays¦Среда¦подарк覦¦
¤1502886072¦33¦16.08.2017-15:21:12¦+¦5000¦2000¦500¦500¦500¦500¦71.43¦500¦500 ¦def¦Среда¦прихо䦦¦
¤1502886102¦33¦16.08.2017-15:21:42¦-¦-800¦¦¦¦¦¦¦¦¦def¦Среда¦едদ¦
¤1502886113¦33¦16.08.2017-15:21:53¦-¦-250¦¦¦¦¦¦¦¦¦def¦Среда¦проез䦦¦
¤1503297068¦34¦21.08.2017-09:31:08¦-¦-5000¦¦¦¦¦¦¦¦¦def¦Понедельник¦возврат¦¦¦

Базы находится источник по ссылке: http://airsound.ru/post_1447884000.html - там отключен правда на данный момент расчёт, но понятна суть.



Отчёты нужны о денежных средств поступлении, трате и перемещении в виде графиков, с периодом дат задаваемым. Без баз MySQL, ООП и остальных наворотов лишних. Чистый php на лету.

Возьмётся кто и за какую сумму?


P.S. Код самописный, но адекватного программиста для доработки не нашёл пока. Все хотят использовать библиотеки...



1 - 24.01.2018 - 19:46
А можно вопрос?
А почему библиотеки - это плохо?
2 - 25.01.2018 - 09:21
Цитата:
Сообщение от Добрых дел мастер Посмотреть сообщение
А почему библиотеки - это плохо?
Из доступных образов: библиотека это ящик с инструментами, изготовленных неизвестно кем из материала неизвестного качества. Мне же нужны только пассатижи с завода.

При увеличении объёма кода возможностей уязвимости больше.

Никто не говорит, что библиотеки - это плохо, они просто не нужны в данном случае, ИМХО.

Отредактировано airsound; 25.01.2018 в 09:23. Причина: Добавочка
3 - 25.01.2018 - 21:19
2-airsound >А чем же ВАС не устраивают Стандартные библиотеки - они тоже прямо с ЗАВОДА и проверенны МИН НЕТ :)
А ОПП - это просто КЛАССЫ стандартного PHP - ну чтобы править одно место кода, а не кучу да еще в разных файлах. Практически как API.
И MySQL - тоже для ЛЮДЕЙ сделан:)
Не надо построчно перебирать весь файл - можно просто (одной строкой SQL) ВЫБРАТЬ строки, ГДЕ дата больше Х но меньше Y и ВСЕ!!!
Данные за период у вас в КАРМАНЕ - вернее в табличке (массиве php). Дальше хош все выводи хош частично.
А если ЗАПРОС немножко усложнить, тогда и СЛОВА не нужно будет считать:)
4 - 25.01.2018 - 21:45
2-airsound. А вы уверены, что распарсите входящие данные так же хорошо, как авторы библиотек? И будет в итоге какой-нибудь "четверг `rm -rf /`"
Что другие, менее очевидные ошибки так же хорошо обработаете?
Писать самостоятельно, когда есть уже готовое и доступное - абсолютное зло. Исключение, наверное, обучение, или создание замены чему-то готовому.
5 - 25.01.2018 - 23:24
Цитата:
Сообщение от airsound Посмотреть сообщение
Отчёты нужны о денежных средств поступлении, трате и перемещении в виде графиков, с периодом дат задаваемым. Без баз MySQL, ООП и остальных наворотов лишних. Чистый php на лету.
"Без баз MySQL, ООП <...> Чистый php на лету", - не вопрос. Меня другой вопрос интересует: лавинообразное снижение производительности системы будет со временем чьей головной болью? "адекватного программиста" или все же вашей??
6 - 26.01.2018 - 09:29
Цитата:
Сообщение от AlexIT Посмотреть сообщение
А чем же ВАС не устраивают Стандартные библиотеки - они тоже прямо с ЗАВОДА и проверенны МИН НЕТ :)
Повторю: При увеличении объёма кода возможностей уязвимости больше.
Из примеров CMS - мне не нужен дырявый вариант WordPress'a, который рушат все, кому не лень.

Цитата:
Сообщение от AlexIT Посмотреть сообщение
А ОПП - это просто КЛАССЫ стандартного PHP - ну чтобы править одно место кода, а не кучу да еще в разных файлах. Практически как API. И MySQL - тоже для ЛЮДЕЙ сделан:) Не надо построчно перебирать весь файл - можно просто (одной строкой SQL) ВЫБРАТЬ строки, ГДЕ дата больше Х но меньше Y и ВСЕ!!! Данные за период у вас в КАРМАНЕ - вернее в табличке (массиве php). Дальше хош все выводи хош частично. А если ЗАПРОС немножко усложнить, тогда и СЛОВА не нужно будет считать:)
Согласен, что так работа будет выглядеть более внушительно, все эти моменты я прекрасно понимаю. Монстр не нужен.
Краткость - сестра таланта(с), да Бритва Оккама - это лучшие варианты в моём случае.

Цитата:
Сообщение от Добрых дел мастер Посмотреть сообщение
А вы уверены, что распарсите входящие данные так же хорошо, как авторы библиотек? И будет в итоге какой-нибудь "четверг `rm -rf /`" Что другие, менее очевидные ошибки так же хорошо обработаете? Писать самостоятельно, когда есть уже готовое и доступное - абсолютное зло. Исключение, наверное, обучение, или создание замены чему-то готовому.
Уверен, что данные, обработанные парой циклов(или другим простым способом) будут не хуже данных, обработанных стандартными библиотеками.
Остальные ошибки могут быть выявлены в процессе, здесь никто не застрахован.

Цитата:
Сообщение от huwox Посмотреть сообщение
"Без баз MySQL, ООП Чистый php на лету", - не вопрос. Меня другой вопрос интересует: лавинообразное снижение производительности системы будет со временем чьей головной болью? "адекватного программиста" или все же вашей??
Конечно моей, только база данных размером около 88 килобайт за два года(2016, 2017), думаю, лет тридцать будет точно способна работать на простых принципах и любом оборудовании, включая локальный веб-сервер на Андроиде без интернета(хоть там и есть поддержка мускула).


Мой блог(страница статистики) уже почти двенадцать лет с нормальной посещаемостью работает на текстовых базах данных и не жужжит.


Цены можно можно здесь указывать, не критично. Если найдётся желающий в этом мире. :)


P.S. Есть ещё пара проектов для доработки, этот просто покажет целесообразность пути.
7 - 26.01.2018 - 09:38
* можно можно :)
8 - 26.01.2018 - 14:00
Цитата:
Сообщение от airsound Посмотреть сообщение
Цены можно можно здесь указывать, не критично. Если найдётся желающий в этом мире. :)
"Цены можно", - не вопрос, к цифрам так к цифрам.

а) считаем задачи:
Цитата:
Сообщение от airsound Посмотреть сообщение
Есть ... отчёты создать ... необходимо ... вычленить список ... употребляемых.
1) "отчёты создать",
2) "вычленить список", - итого: две задачи в рамках одного проекта - верно?

б) уточняем задачи:
Цитата:
Сообщение от airsound Посмотреть сообщение
Отчёты нужны о денежных средств поступлении, трате и перемещении в виде графиков, с периодом дат задаваемым. Без баз MySQL, ООП и остальных наворотов лишних. Чистый php на лету.
отчеты:
1.1) о денежных средств поступлении,
1.2) трате,
1.3) перемещении, - итого: отчеты трех видов - сколько всего отчетов?

графики "php на лету" - фунциклирующий пример, аналоги где смотреть?
9 - 26.01.2018 - 15:38
8-huwox >

1. Настройки:

1.1 Выбор периода отчёта из двух дат(по умолчанию - прошлая неделя). Возможность сохранять выбор(можно не сразу, это не горит).

Данные максимума и минимума для выбора берутся из поля unix timestamp:
¤1501762917¦31¦03.08.2017-15:21:57¦+¦20000¦8000¦2000¦2000¦2000¦2000¦285.71¦2 000¦2000¦def¦Четверг¦прихо䦦¦

1.2 Выбор отчётов(галками), смотреть п.3 ниже.


2. Задача:

- выбрать слова из всех строк базы в поле:
¤1501762917¦31¦03.08.2017-15:21:57¦+¦20000¦8000¦2000¦2000¦2000¦2000¦285.71¦2 000¦2000¦def¦Четверг¦прихо䦦¦

- посчитать количество одинаковых слов и по убыванию этого количества разместить в переменной $words в виде массива:
Первая строка:
¤приход¦еда¦отдых¦подарки¦ и так далее.
Вторая строка(количество слов из первой строки):
¤10¦7¦4¦4¦ ...

- сохранение данной базы в отдельный текстовый файл words.db


3. Отчёты в виде графиков за выбранный период: даты снизу, суммы слева и справа, автоматическое масштабирование высоты по сумме. Сумма Итого в числовом виде под графиком.

[√] Отчёт о приходе средств - суммарное значение всех положительных цифр из базы.

[√] Отчёт о трате средств - все минусовые значения из базы, исключая перемещения средств из конверта в конверт.

[√] Отчёт о переводе средств - все варианты перемещения из конвертов и счетов друг в друга. Это поле вида target›rf всегда имеет знак


За пример можно взять ту же страницу статистики, первый график, но если есть покрасивее вариант, не откажусь.
10 - 26.01.2018 - 15:53
8-huwox > В личку отправил рабочий онлайн-вариант, для понимания процессов.

Ещё планируются годовые отчёты со сравнением, но это уже другая история.
11 - 26.01.2018 - 16:29
Блин, в создании отчётов забыл указать, что положительные и отрицательные значения берутся из полей:
Знак(подчёркнуто):
¤1501762917¦31¦03.08.2017-15:21:57¦+¦20000¦8000¦2000¦2000¦2000¦2000¦285.71¦2 000¦2000¦def¦Четверг¦прихо䦦¦
Число:
¤1501762917¦31¦03.08.2017-15:21:57¦+¦20000¦8000¦2000¦2000¦2000¦2000¦285.71¦2 000¦2000¦def¦Четверг¦прихо䦦¦

Перемещения брать из полей конвертов(они разные):
¤1502703345¦33¦14.08.2017-12:35:45¦-¦¦¦200¦¦¦¦¦¦-200¦target¦Понедельник¦target›now¦¦¦
12 - 27.01.2018 - 04:45
11-airsound > ok. Если телега есть, то тоже в личку.
13 - 27.01.2018 - 04:59
Цитата:
Сообщение от huwox Посмотреть сообщение
11-airsound &gt; ok. Если телега есть, то тоже в личку.
Телеги нет, если я правильно понял значение этого слова, старею, однако.
14 - 27.01.2018 - 13:16
Цитата:
Сообщение от airsound Посмотреть сообщение
Уверен, что данные, обработанные парой циклов(или другим простым способом) будут не хуже данных, обработанных стандартными библиотеками. Остальные ошибки могут быть выявлены в процессе, здесь никто не застрахован.
Очень напрасно. Человек должен осознавать, что делает. И то, в более крупных проектах с более проверенным кодом регулярно случаются факапы - находится какая-нибудь комбинация символов, обходящая это.
>Из примеров CMS - мне не нужен дырявый вариант WordPress'a, который рушат все, кому не лень.
Он дырявый только потому, что им пользуются миллионы. Самописное поделие, тем более без использования библиотек, будет спасать только дух неуловимого Джо. Но как только найдется тот, кому будет это интересно - взломано будет в минуты (если, конечно, писавший это не супер крутой профессионал).
15 - 27.01.2018 - 14:16
13-airsound > отправил в личку
16 - 27.01.2018 - 20:14
14-Добрых дел мастер > Все ужасы взлома мне известны, несколько сайтов своих, но если условия Вас не устраивают, так и разговаривать не о чем.
17 - 27.01.2018 - 20:29
да дело ведь не в условиях. Я вообще не на php пишу.

Ну да ладно.
18 - 27.01.2018 - 20:37
17-Добрых дел мастер > Премного благодарен за Ваше мнение, постараюсь сделать выводы.
19 - 28.01.2018 - 09:59
Что, перевелись на Руси студенты, изучающие п ы х а, да академики, желающие тряхнуть стариной и показать удаль молодецкую, да специалисты со взором горящим?

Или никто простых действий языка уже не знает?

Хардкор, батенька, только хардкор! :)
20 - 28.01.2018 - 10:50
Вот вам для начала. :)

Код:
<?php

  $f='1000000000.db';

# Читаем файл:

  $l=file_get_contents($f);
  $a=explode('¤',$l);
  $c=count($a);

# База данных, вид:
# [0]timestamp¦[1]weeknum¦[2]date - time     ¦[3]sign¦[4]summ¦[5]pays¦[6]one¦[7]two¦[8]three¦[9]four¦[10]day¦[11]rf¦[12]target¦[13]postval¦[14]weekday¦[15]descr¦¦¦
# 1446798902  ¦45        ¦06.11.2015-11:35:02¦+      ¦1000   ¦400    ¦100   ¦100   ¦100     ¦100    ¦14.29  ¦100   ¦100       ¦def        ¦Пятница    ¦приход   ¦¦¦

  for ($i=0; $i < $c; $i++){
      $t = explode('¦',$a[$i]);

...

}

?>
21 - 07.02.2018 - 03:08
актуально?
22 - 07.02.2018 - 09:14
21-migi > Да, пока только один откликнулся, но пока ещё нет результата.


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены