Регистрация Правила Главная форума Поиск |
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
| "Без баз MySQL, ООП <...> Чистый php на лету", - не вопрос. Меня другой вопрос интересует: лавинообразное снижение производительности системы будет со временем чьей головной болью? "адекватного программиста" или все же вашей?? | | ||||
6
- 26.01.2018 - 09:29
| Цитата:
Из примеров CMS - мне не нужен дырявый вариант WordPress'a, который рушат все, кому не лень. Цитата:
Краткость - сестра таланта(с), да Бритва Оккама - это лучшие варианты в моём случае. Цитата:
Остальные ошибки могут быть выявлены в процессе, здесь никто не застрахован. Цитата:
Мой блог(страница статистики) уже почти двенадцать лет с нормальной посещаемостью работает на текстовых базах данных и не жужжит. Цены можно можно здесь указывать, не критично. Если найдётся желающий в этом мире. :) P.S. Есть ещё пара проектов для доработки, этот просто покажет целесообразность пути. | | ||||
7
- 26.01.2018 - 09:38
| * можно можно :) | | ||||
8
- 26.01.2018 - 14:00
| Цитата:
а) считаем задачи: Цитата:
2) "вычленить список", - итого: две задачи в рамках одного проекта - верно? б) уточняем задачи: Цитата:
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
| Телеги нет, если я правильно понял значение этого слова, старею, однако. | | ||||
14
- 27.01.2018 - 13:16
| Цитата:
>Из примеров 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 > Да, пока только один откликнулся, но пока ещё нет результата. | | ||||
23
- 04.03.2018 - 19:10
| Цитата:
| | ||||
24
- 05.03.2018 - 13:14
|
23-x0577216 > Самое смешное, что там достаточно прочитать, обработать и вывести, для любого программиста - раз плюнуть. Даже записывать в базу(текстовую либо мускульную) основные данные, а затем править их, не требуется. Но я понимаю, тут много бабла не срубишь, посему и молчат аки рыбы. Хотя при желании этот первый шаг мог бы принести программисту некоторый заработок, правда никто дальше одной халтурки смотреть не хочет. Сервис для себя, в основном, да друзья пользуются. Для любопытствующих, как это работает, вот ссылка. | | ||||
25
- 09.03.2018 - 17:58
| Я бы такое в портфолио не добавил. | | ||||
26
- 10.03.2018 - 00:08
| 25 ну это смотря за сколько ;) | | ||||
27
- 10.03.2018 - 12:41
|
а за сколько бы ни было. Если бы много денег предлагали - сделал бы под вымышленным именем, вымыл руки и забыл | | ||||
28
- 12.03.2018 - 15:35
| Цитата:
Можете помочь улучшить - всегда рад любым предложениям, даже с библиотеками и мускулом, вдруг придёт озарение... хотя о чём это я? Разве прибыльно помогать другому сделать красивым его убогое творение? Нет. P.S. Бабло, конечно, рулит в нашей потребительской жизни, но истинное удовольствие доставляют простые вещи, "собранные на коленке" для прикола или проверки идеи. Особенно, если ими будут пользоваться бесплатно и вспоминать тебя добрым словом. | | ||||
29
- 12.03.2018 - 18:10
|
Разве я хотел от вас хоть рубль? Мы здесь не про деньги, а так. А вы читали вообще, что я и другие писали выше? Вы игнорируете все принципы программирования. Это не "библиотеки", это хороший тон. Есть паттерны, есть еще более высокоуровневые конструкции, и им лучше следовать. Изобретая такие велосипеды вы рискуете. Безопасность этого поделия, скорее всего, на уровне плинтуса. Масштабируемость, может быть, вам и не нужна, но это не повод, чтобы оправдывать такую архитектуру. Да и подход "я умнее всех, пофиг, что там буржуи напридумывали" - плохой. Сами вы, конечно, развлекайтесь, как хотите, но я бы не хотел прикасаться к такому. Разве что за очень большие деньги и чтобы никто об этом не узнал. | | ||||
30
- 12.03.2018 - 19:55
|
Прочел и вспомнилось: Извините, пожалуйста вам, Поможите, люди добрые! Сами мы не местные, Голодаем и скитаемся. Приехали на лечение - Украли все документи. На вокзалах, пожалуйста вам, Не хватает разместиться. На перроне дедушка лежит С рахитом и плоскостопием. Извините, что мы к вам За поможением обращаемся. Не прогневайтесь, трудовой народ. Счастья вам. Извините за это обращение. Здоровья вам и счастья. Поможите просим. Ваша земля - ваша семья. Поможите, чем сумеете ___ Московский романс -- https://music.yandex.ru/album/2978546/track/25288579 | | ||||
31
- 13.03.2018 - 11:06
| Цитата:
Именно так. Цитата:
Мало кто отважился предложить сумму и способ решения, пускай даже с "хорошим тоном". Посему делаю вывод - здесь толковых программистов чуть. Побираться не научен, тут мимо. | | ||||
32
- 14.03.2018 - 23:51
| какой ужас! достаточно одного поля. | | ||||
33
- 15.03.2018 - 14:41
|
32-x0577216 > Согласен, таймстампа за глаза, только база ещё и является визуальным отражением процессов, поэтому и введены человекопонятные поля. Там ещё, как минимум, [14]weekday лишний. Но достаточно взглянуть на листинг базы, чтобы понять в какую дату/время и какая сумма приходила/тратилась/перемещалась. | | ||||
34
- 16.03.2018 - 03:59
| Цитата:
Само обсуждение иррационально. | | ||||
35
- 16.03.2018 - 10:12
| 34-x0577216 > Вы совершенно правы. В базе достаточно таймстампа, цифры со знаком, значения POST и примечания. | | ||||
36
- 19.12.2018 - 14:10
| Лично мне кажется, что лучше дать программисту решать задачу так как он считает нужным (умеет). А не загонять в четкие рамки "Без баз MySQL, ООП и остальных наворотов". А то это примерно как пригнать машину в сервис и сказать: "вы только чините ее исключительно молотком и ничем более" | | ||||
37
- 22.12.2018 - 18:20
| Дать то ему можно, но он может дойти до того что спроектировать базу на принципах NoSQL без всякой нормализации, ее там просто нет. Просють (просили) именно rdbms, хоть и не сказали явно | | ||||
38
- 27.12.2018 - 02:29
|
37-Бенгальский > А. Точно. Тут кто-то выше писал, что "зачем пробегать ее построчно". Типа, просто запрос SQL и ВСЁ! Всё щасьте в кармане. Ну а то, что пробегать его будут все равно построчно - это типа не так? :) Цитата:
А то вы слишком много придаете моментам уже давно известному. | | ||||
39
- 01.02.2019 - 15:38
|
Приветствую. На чистом php нужно сделать ? Могу взяться и за такой вариант при хорошей оплате. Специализируюсь как раз на учетных системах с отчетами. Мои контактные данные: Тел.: 8-919-888-94-94 Эл. почта: dox07@mail.ru SkypeID: dox_07 | |
| Интернет-форум Краснодарского края и Краснодара |