
Андрей
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

Андрей
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

Seva
07.02.2018
23:23:23
И вообще
Юзай explode для того что бы вытащить аргумент команды

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
главное, чтоб в template переменные те приходили

Aleksey
08.02.2018
05:22:16

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
я загружаю один файл и кеширую его, названием 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
Описание проблемы:
Совет: для более эффективного решения проблемы предоставьте снимок экрана с ошибкой.

Aleksey
08.02.2018
10:56:50

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

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

©Мастер©
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
класс! ребята научите писать код не думая ?? рад буду научится)) сел такой, и ни очем не думая..просто пальцами тупо настукивая по клаве сделать шедевр!