Кол-во просмотров с 08.02.24г. :: 190
Всем привет. Здравствуйте. Продолжаем формировать бюджет. Сегодня мы познакомимся с такой достаточно удобной, интересной функцией, которая называется Explode. PHP-шная функция. Добрый день. Добрый день. Ну и переходим. Значит, мы в прошлый раз остановились на том, что мы обрабатывали нажатие на кнопку «Внести в базу». Внести в базу элемент бизнес-процесса. Там некую характеристику бизнес-процесса. Или мы просто называем «Внести в базу бизнес-процесс». И, соответственно, при нажатии вот на эту кнопочку... Кстати, кнопочку тоже можно придумать как-нибудь, чем-нибудь там подрисовать. Значит, внести в базу. Мы зашли в раздел «Кнопки». И фактически повторили, просто взяли и скопировали вот этот вот обработчик, вот самый простейший обработчик, который у нас обрабатывает внесение факта, внесение фактических данных. Мы его скопировали и примерно все то же самое сделали. Единственное, что мы дошли до раздела «сумма». Мы дошли до раздела, где у нас вносятся вот эти вот числовые, количественные там или числовые характеристики 1, 2, 3, 4, 12. И мы проговорили следующую ситуацию, что нам в базу данных IT for FinBP, да, вот эти процессы, Сейчас я ее найду. Это вот BD, база данных. Нет, не сюда. BP. Бизнес-процессы. База бизнес-процессов. Вот так вот. У нас здесь всего лишь одно поле, которое называется BP-значение. И вот нам вот в это нужно поле, а если мы его посмотрим в структуре, то вот это вот самое BP значение, оно у нас является текстовым. И мы договорились, что мы числовые характеристики будем записывать в базу в виде текстовой строки, где между числами, между количественными характеристиками будет некоторое кодовое слово. Ну, давайте мы сначала это кодовое слово запишем. И сейчас примерно так. Сейчас сначала все сделаем, потом я еще раз объясню. Идем вот в эту нашу вкладочку start, в которой все-все-все начинается. И здесь давайте придумаем такое кодовое слово dollar. Напишем код p, например, пишем равняется. Берем в кавычки, это у нас текст, кодовое слово, просто от балды берем, но такое, чтобы оно вот как-то вот там не повторялось это, и по возможности, наверное, чтобы у него не было чисел. Ну, я сделаю очень просто. Дефис, пэдефис. Ну, например, вот так вот. Пусть будет вот у нас вот такое кодовое слово, состоящее из трех символов. Дефис, пэдефис. Вот. И мы между числовыми характеристиками каждого месяца, будем между ними ставить вот это вот кодовое слово. Дефис, пэдефис. А потом будем всю эту текстовую строчку резать по вот этому кодовому слову. Как-то так. Значит, в старте мы вот это кодовое слово задали. Запоминаем, код дэфэ. Доллар под P переменная. Перекидываемся обратно в кнопки. Давайте вот этот вот кнопки, я его вот сюда вот так вот переброшу. Значит, переходим в кнопки. Давайте вот если в индекс мы зайдем, у нас сначала идет старт, потом у нас идет, подключаем кнопки, потом у нас идет модель. Вот здесь вот у нас также старт, кнопки, потом модель. Вот они три наших файлика. И теперь получается так, что вот этот вот доллар-бп-сумма, можно было бы, конечно, создавать такой массив, но тогда нам бы потребовалось в базе данных создавать там 1, 2, 3, 4, 5, 6, 7, 12 полей. А если бы мы, например, работали с какими-нибудь бизнес-процессами, для которых нужно не 12 полей, там, допустим, а 25, то надо было бы 25. Ну и понятно, что это крайне неудобно, потому что тут непонятно, сколько этих полей нужно закладывать. И, в принципе, когда слишком много полей, в общем, действительно тоже не так легко работать с базой данных. Поэтому для числовых характеристик мы делаем очень простую вещь. Нам нужно текст. Значит, $BP сумма, мы тогда пишем, что это не array, это не массив, а просто пишем, что $BP сумма – это есть пустая строка. Но это уже текст. Если мы вот так вот записываем, то мы языку пиечки сообщаем, что вот эта переменная $BP сумма – это есть текст. А у нас там как? А у нас здесь написано $BP. Давайте вот так его и обозначим. $BP. Не сумма, а просто $BP. Так вот сюда и поставим. Вот так. $BP. Мы снимаем вот эти BP-суммы, BP-суммодефисты, там потом 1, 2, 3, 12, количество MaxTime BP. И нам нужно их всех выстроить таким образом, чтобы сначала шла сумма, потом наш код и так далее. Сейчас я запишу, потом будет понятно. Значит, мы пробегаем от первого периода до последнего, в данном случае до 12-го периода, 12-го месяца, и вот этот доллар BP значение, Мы его можем написать следующим образом. Пусть у нас это будет $BP значение равняется $BP значение. Дальше мы приписываем $codeP, потом ставим точку. Точка – это сшиватель. Это сшиватель текстов. То есть мы берем $BP значение. Если $I равняется единичке, то мы берем сначала пустую строчку, потом к этой пустой строчке добавляем вот этот дефис PDEFIS. Потом мы берем то, что введено в ячейке номер 1 в первом месяце. Приклеили, у нас получилось кодовое слово и числовое значение первого месяца. Потом, когда мы по этому циклу пройдем, и у нас $i будет равняться 2, то мы добавим опять. Тогда мы меняем у нас $bp-значение. Это будет $bp-значение, которое уже было получено на первом шаге. Потом мы добавляем эту прокладку в виде кодового слова и добавляем сумму 2, сумму второго периода и так далее. И у нас будет формироваться. Мы сейчас это прямо увидим в базе данных, то есть в каком виде это все у нас клеится. То есть вот таким вот образом мы склеиваем текст. Единственное, что если у нас в каком-то месяце мы значение не ввели, то надо, например, полагать или заранее принять, что это ноль. Тогда нам нужно сделать следующую запись. Тогда мы делаем следующую запись. у нас и вот это вот, и set, то есть если у нас определено какое-то конкретное значение, если у нас определено какое-то конкретное значение суммы, какое-то количественное значение в текущем месяце, то есть вот это BP сумма номером i, Если оно определено, то есть задано какое-то число. Или давайте наоборот. Если оно задано, то тогда мы применяем вот такую вот запись. $BP, значение равняется $BP, значение в код P и потом мы вытаскиваем ту то количественное значение, которое там было вставлено. А иначе... пишем Else. А иначе нам нужно просто добавить нолик. Пишем копировать. вот сюда вот так вот вставить, и вот сюда вот просто как бы добавить ноль. Я пишу кавычки, ноль, кавычки. Единственное, что так можно делать, это абсолютно нормально. То есть мы вот сюда вот как бы добавляем нулевое значение. То есть если у нас не определено, допустим, во втором периоде у нас здесь нет никакой суммы, никакое число мы сюда не проставили, то тогда вот этот input, он пойдет как бы неопределенный, здесь ничего не задано. И вот он здесь читает, что если задано, то мы вот эту применяем. То, что задано, то как бы примыкает в эту текстовую строчку, а если не задано, то мы ставим нолик. Я единственное, что сам лично делаю, мне вот так вот не очень нравится писать, кавычка, нолик, кавычка. Я обычно пишу, задаю такую переменную, просто пишу $0, например, равняется 0, вот так. И просто-напросто вот сюда добавляю $0, переменную. вот так вот, добавляем ноль вот таким вот образом. мне, по крайней мере, так легче воспринимать глазами. каждому как бы... каждый может по-своему какие-то фишки добавлять свои. можно просто в кавычках ноль, можно просто долларзируть, добавлять. когда это идет такая вот текстовая большая строка, сам по себе PHP, он сразу же понимает, что это не число, а это как бы именно вот этот нолик, он добавляется как символ текста. Ну и все. И вот у нас получается так, что вот этот вот цикл, он пробегает по 12 нашим периодам, ну или сколько мы его там зададим, maxTime, bpm, и формируется такая текстовая строчка, в которой помещены все числовые значения. Ну а далее мы это все дело должны закинуть в базу данных. Итак, у нас здесь 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. 12 переменных и одна переменная вот это bb-значение, 13. Давайте просто я на всякий случай так проверим. Значит, у нас получается 1, 2, 3. 4, 5, 6, 7, 8, 9, 10, 11. 11. Сейчас еще раз смотрим. А здесь у нас 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11. А статус? так а здесь у нас а мы здесь не добавили статус да то есть у нас здесь так бф статья а нет вот он статус есть так еще раз смотрим так 1 2 3 4 1 2 3