@ChatPHP

Страница 9 из 19
Андрей
07.02.2018
15:51:04
У буржуев на английском не искал?

Sazanof
07.02.2018
15:51:11
yes

Андрей
07.02.2018
15:52:02
Если я не могу найти решение - пишу на всех форумах - и мне всегда помогали гуру )))

У меня такие задачи не стоят - у меня небольшой интернет магазин на 10 000 тыс товаров. Поэтому я не парюсь запросами в бд

Google
Sazanof
07.02.2018
15:53:11
все примеры ограничены GROUP BY , которое частично помогает решить задачу.но не подходит.

ну спасибо на добром слове)

Андрей
07.02.2018
15:54:31
А почему нельзя забрать все из бд, поместить в массив и разбить этот массив на 2 массива по группам? Не могу понять

Долго будет делать?

Кстати чтобы вот такого не было изначально просчитывают реляционную модель данных и если что дробят на мелкие таблицы - так легче потом тянуть данные.

Sazanof
07.02.2018
15:57:22
А почему нельзя забрать все из бд, поместить в массив и разбить этот массив на 2 массива по группам? Не могу понять
можно, но потом каждый массив нужно ещё разбить + подсчитать общее кол-во определенных записей и сделать из этого кол-ва массивы.. может нужно отдохнуть и решение прийдёт,само)

Андрей
07.02.2018
16:08:39
Ввести новое поле в таблицу и пронумеровать все данные на группу 1 и 2 и вытянуть )). Как решение?

Но это не 1 запрос однозначно

Sazanof
07.02.2018
16:12:44
вот дата примерно такая должна быть все готово то 4 статуса выборка по 4 статусам, data-массив с колвом событий для кабинетов запись1{ label:Статус1 data(для разных кабинетов):[кол-во201,кол-во202,кол-во] }, запись2{ label:Статус2 data(для разных кабинетов):[кол-во201,кол-во202,кол-во] }, запись3{ label:Статус3 data(для разных кабинетов):[кол-во201,кол-во202,кол-во] }, запись4{ label:Статус4 data(для разных кабинетов):[кол-во201,кол-во202,кол-во] },

короче, вроде есть решение. можно согласно каждого статуса группировать по кабинетам) правда это 4 запроса, но group by куда быстрее все сделает+ count(*) в поле каждого кабинета получить. завтра попробую наверное. интересно-отпишусь по рещультатам

Андрей
07.02.2018
16:49:44
Интересно будем ждать и напиши за какое время делаться будет вся задача - интересно просто

Дастан
07.02.2018
21:15:05
Написал бота,для привязки chat_id в бд к определенному заказу. Принцип работы такова,что клиент пишет /check c465ea378a4f "c465ea378a4f" - индвидуально сгенерированый код Но если написать такую команду,то ничего не происходит И так как бот расположен на VDS,то падается и сам mysql на 3 секунды

Google
Дастан
07.02.2018
21:15:46
в чем проблема?

Seva
07.02.2018
21:18:24
Что значит падает сам mysql на 3 сек ?

Дастан
07.02.2018
21:19:28
case '/check': sendMessage($chat_id, "Вы успешно подписались на обновление статуса заказа"); //$text = '/check c465ea378a4f'; preg_match('~/check ([a-z0-9]+)~i', trim($text), $preg); print_r($preg); break;

вот код

mysqli_real_connect(): (HY000/2002): Connection refused Ошибка при указании соединения для controluser в конфигурации. mysqli_real_connect(): (HY000/2002): Connection refused

Aleksey
08.02.2018
02:23:52
Как использовать повторно некоторые куски кода twig из того же шаблона, вроде template.html {% for post in posts %} post() {% endfor %} {% post() %} <div class="post{{post.id}}">{{post.text}}</div> {% end post() %}

Эдуард
08.02.2018
05:15:19
чего за тесты?
На занятиях дают нам вот такие домашки?

Sazanof
08.02.2018
05:18:06
Как использовать повторно некоторые куски кода twig из того же шаблона, вроде template.html {% for post in posts %} post() {% endfor %} {% post() %} <div class="post{{post.id}}">{{post.text}}</div> {% end post() %}
вопрос не совсем понятен. так и прогоняйте в цикле отдельно. если просто повторяющийся шаблон, то {%include%}

главное, чтоб в template переменные те приходили

Aleksey
08.02.2018
05:22:16
вопрос не совсем понятен. так и прогоняйте в цикле отдельно. если просто повторяющийся шаблон, то {%include%}
обрисую ситуацию, есть массив постов и есть несколько шаблонов в одном html, выбор шаблона происходит через if page=='profile' и т.д, посты могут использоваться в разных шаблонов и чтобы в каждом шаблоне не городить по сути одно и тоже тело цикла и редактировать из одного места на всех шаблонах я хочу вынести в какую то структуру. Пробовал выделить в block, но не нашел как внутрь блока передать переменные типа post.id, post.text

Sazanof
08.02.2018
05:25:06
в зависимости от какого-то флага?

а почему этот флаг page не добавить в шаблон и не решить все css?

у вас все равно другой page-цикл заново обрабатывает

а если if page= и так далее?

{% for box in boxes %} {% include "render_box.html" %} {% endfor %}

передавайте свое название файла)

Google
Sazanof
08.02.2018
05:39:51
только через тильды передавать page надо, а то инклуд не поймет

Aleksey
08.02.2018
05:45:40
{% for box in boxes %} {% include "render_box.html" %} {% endfor %}
как передавать значение внутрь шаблона? и я использую один файл html

я загружаю один файл и кеширую его, названием page управляется через php, вся остальная магия через ajax

забыл добавить использую twig.js

Sazanof
08.02.2018
05:52:16
))))

Забыли, забыли

но на тыиге обычном это так {% include '/users/' ~ file ~ '.html' %}

курите мануалы, гуглите)

Aleksey
08.02.2018
05:58:07
вот я пытался искал по block, embed, include, exclude, нифига

Sazanof
08.02.2018
06:00:47
тогда не используйте его

Shox
08.02.2018
10:49:05
Описание проблемы: Совет: для более эффективного решения проблемы предоставьте снимок экрана с ошибкой.

Oleg
08.02.2018
11:23:00
AH01215: PHP Fatal error: Call to undefined function finfo_open() Добрый день. Подскажите как включить на plesk?

Дастан
08.02.2018
19:34:20
case '/check': $pieces = explode("/check", $message); /*sendMessage($chat_id, "Введите индивидуальный код для отслеживание статуса заказа"); $text = '/check c465ea378a4f'; preg_match('~/check ([a-z0-9]+)~i', trim($message), $preg); print_r($preg); foreach ($preg as $key => $value) { $sql = $db->query('UPDATE orders SET chat_id = "'.$chat_id.'" WHERE orders.identify = "'.$value.'"'); }*/ $sql = $db->query('UPDATE orders SET chat_id = "'.$chat_id.'" WHERE orders.identify = "'.$pieces[1].'"'); sendMessage($chat_id, "Вы успешно подписались на обновление статуса заказа!"); break;

после выполнения этого кода

MySQL падает

и не отправляет

сообщения

в чем проблема?

case '/check': $pieces = explode("/check", $message); $sql = $db->query('UPDATE orders SET chat_id = "'.$chat_id.'" WHERE orders.identify = "'.$pieces[1].'"'); sendMessage($chat_id, "Вы успешно подписались на обновление статуса заказа!"); break;

Google
Дастан
08.02.2018
19:34:52
вот читабельный

Алексей
08.02.2018
19:36:38
а че кавычки наоборт ? чего поля не закавычены? мочему переменне в скуль неотфильтрованные пихаются?

Дастан
08.02.2018
19:37:44
т.е.?

я понял часть про ковычки

Алексей
08.02.2018
19:41:05
"UPDATE `orders` SET `chat_id` ='{$chat_id}' WHERE `identify` = '{$pieces[1]}'"

Но нужно контролировать чтобы у тебя $chat_id и $pieces[1] были экранироваными

Дастан
08.02.2018
19:43:39
не работает,ваш запрос sql

Алексей
08.02.2018
19:44:17
выведи чего лежит в переменных - это раз

2 чего используешь для работы с БД

Дастан
08.02.2018
19:44:45
для чего?

Алексей
08.02.2018
19:44:45
3. какая вообще БД у тебя

чтобы было понятно что там что то есть

Дастан
08.02.2018
19:45:13
3. MySQL 2. Для занесение в бд chat_id для дальнейшего уведомления о обновление статуса заказа

Уже решил проблему

Правда через костыли

infobot
08.02.2018
19:51:14
Дастан Жолдас moved to read-only.

Алексей
08.02.2018
19:52:18
$db = new \mysqli(......); .... if(!$db->real_query( "UPDATE `orders` SET `chat_id` ='{$db->escape_string ($chat_id)}' WHERE `identify` = '{$db->escape_string ($pieces[1])}'" )) die($db->error);

©Мастер©
08.02.2018
19:53:07
зачем die? исключения надо ловить

Алексей
08.02.2018
19:53:47
зачем die? исключения надо ловить
ты #Вот читабкльный код видел?

зачем die? исключения надо ловить
это потом еще либкез проводить что такое исключения и для чего они нужны, и почему их везде пихать не надо

Google
©Мастер©
08.02.2018
19:55:55
а кто сказал что они вредны? тыкните мне носом на конкретные обсуждения?! через исключения можно еще раз попробовать подключиться... А код выше все таки как раз и не читабельный....

oop вообще не пахнет...

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

Алексей
08.02.2018
19:58:25
1. исключения для mysqli появились только в 7.0 php и то выключены поумолчанию 2. Исключения нужны для того чтобы писать предсказуемый управляемый код 3. если ты нахерачил кучу обработчиков екскепшенов, это заставит повешаться человека, читающего твой код.. 4. Какое нахрен ооп в 3-х строках :)

©Мастер©
08.02.2018
19:59:24
1. исключения для mysqli появились только в 7.0 php и то выключены поумолчанию

Алексей
08.02.2018
19:59:27
простую обвертку можно и нужно написать..чтобы не так топорно к базе обращаться, хотя бы на уровне обьектов...и то ближе к оор и красивее и понятнее код
ты предлогаешь юзать ORM там где всего то и надо записать 2 значения в базу... :) на тебе гвозди и микроскоп

©Мастер©
08.02.2018
19:59:39
ну так кто меншает свои "прослушки" исключений сделать?

Алексей
08.02.2018
20:00:03
анахера тут?

че там слушать? ну напиши не die напиши throw new Exception($db->error);

потом еще тебе нужно будет это все в try catch завернуть

©Мастер©
08.02.2018
20:02:40
сначала тут упустим момент..ай типа...прокатит..потом еще , потом еще..вот так вот и получается, что потом приходится думать...а почему база свалилась..а почему то,и се...

Алексей
08.02.2018
20:03:05
для этого есть тесты и дебагер

©Мастер©
08.02.2018
20:03:15
для одного вызова..конечно..не спорю..тут ооп не нужен... query и все.. и array - и готово )))

Алексей
08.02.2018
20:03:30
это очень плохо, если в таких моментах думать приходится

©Мастер©
08.02.2018
20:04:42
класс! ребята научите писать код не думая ?? рад буду научится)) сел такой, и ни очем не думая..просто пальцами тупо настукивая по клаве сделать шедевр!

Страница 9 из 19