Я создаю новое приложение, которое будет интегрировано с внешним ботом, и бот будет заходить на мой сайт для получения конкретной информации о новых заказах. Приложение будет работать следующим образом:
Клиент создает новый заказ (информация о заказе сохраняется в базе данных)
Заказчик переносится на новую страницу, где он заполняет короткую форму и получает дополнительную случайную информацию для своего заказа.
Клиент вводит, например, свое имя во входные данные и отправляет форму.
Имя и дополнительная информация (это может быть от 1 до 5 элементов, каждый из которых имеет соответствующую сумму) сохраняется в новой таблице.
Бот заходит на сайт и собирает эту информацию.
Бот выполняет свои задачи и отвечает обратно на сайт, чтобы сообщить ему, что он завершен.
В настоящее время у меня все установлено, за исключением того, что у меня проблема с поиском наилучшего способа сохранить, сохранить и прочитать «дополнительную информацию», когда их несколько. Я подумал, что лучшим способом было бы собрать информацию в массив (в PHP), сериализовать ее, сохранить в таблицу, а затем, когда я позже запросю бот для чтения, отменить ее сериализацию.
Это страница, на которой бот будет читать информацию:
$conn = new mysqli($server, $user, $password, $db);
if($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn->prepare('SELECT
s.entity_id, s.increment_id, m.server_index, m.ign, mi.item_info, m.timestamp, s.total_qty_ordered, m.bot_status
FROM sales_flat_order as s
INNER JOIN delivery_data as m ON s.entity_id = m.entity_id
INNER JOIN delivery_item_data as mi ON m.entity_id = mi.entity_id
WHERE s.store_id = "3" AND m.ready_status = "1" AND m.bot_status = 0'
);
$stmt->execute();
$result = $stmt->get_result();
Эта проблема отображает item_info
в цикле результатов.
Так, например, информация, которая сохраняется и сериализуется:
array(array(0,5000),array(1,4000))
Сериализированные:
a:2:{i:0;a:2:{i:0;i:0;i:1;i:999999;}i:1;a:2:{i:0;i:0;i:1;i:1999999;}}
Во-первых, это лучший способ?
Во-вторых, у меня проблемы с десериализацией его в читаемый формат с остальной желаемой информацией.
Вот так будет выглядеть готовый массив:
Array
(
[0] => Array
(
[entity_id] => 8333
[increment_id] => 300000028
[server_index] => 2
[ign] => TestName
[item_info] => Array
(
[0] => 0
[1] => 5000
)
Array
(
[0] => 1
[1] => 4000
)
[timestamp] => 2019-03-26 00:00:00
[total_qty_ordered] => 20.0000
[bot_status] => 0
)
)