@lucsieus
Студент ИТ школы

Как сформировать корзину из MySql через PHP (Телеграм shop-bot)?

Пишу шоп бота в телеге, пытаюсь сформировать корзину покупки.

Как из этого 602de6c42b2a0075770414.png

сделать вот это (простыми словами) 602de6d44ff6c196017579.png

Таблица из бд.
602de63851695528248771.jpeg

Сам код:
case 'Корзина': {
                    action($chat_id,'typing');
                    $cart_info=getCart($user_id);
                    $cart_products=json_decode($cart_info['product_id'],true);
                    $num=count($cart_products);
                    if($num>0 and $cart_products!=null){
                        $product_array=array();
                        $all_price=0;
                        foreach ($cart_products as $productID){
                            $info=getProduct($productID);
                            $product_array[]=$info;
                            $all_price+=$info['price'];
                        }
                        $result=" В корзине: ".PHP_EOL.PHP_EOL;
                        $cnt=($num>=$limit_musics)?$limit_musics:$num;
                        for ($i=1;$i<=$cnt;$i++){
                            $product_id=$product_array[$i-1]['id'];
                            $product_name=$product_array[$i-1]['name'];
                            $product_price=$product_array[$i-1]['price'];
                            $result.=$i.". ".$product_name." - ".$product_price." тг.".PHP_EOL."------------------------".PHP_EOL;
                        }
                        if($num>$limit_musics){
                            $result.=PHP_EOL."Итого: ".$all_price." тг.";
                            message($chat_id, urlencode($result).inline_btn(array('Следующая страница','/nextCart_'.$limit_musics,' Завершить покупку','Оформить заказ','❌ Очистить корзину','/delCart')));
                        }else{
                            $result.=PHP_EOL."Итого: ".$all_price." тг.";
                            message($chat_id, urlencode($result).inline_btn(array('Оформить заказ ','/nextReq_','Очистить корзину ❌','/delCart')));
                        }

                    }else{
                        $msg="♻️Ваша корзина пуста".PHP_EOL.PHP_EOL."Вы можете использовать кнопку продукта или кнопку поиска, чтобы найти нужные продукты и добавить их в корзину!";
                        message($chat_id, urlencode($msg));
                    }

                }break;


Функций запроса из БД:
function getCart($user_id){
    global $db;
    $query="select   * from cart WHERE user_id=".$user_id." or id=".$user_id;
    $res=mysqli_query($db, $query);
    $res=mysqli_fetch_assoc($res);
    return $res;
}

function getProduct($product_id){
    global $db;
    //SELECT  MAX(num) AS Name, COUNT(num) AS Count FROM dbo.TestTable GROUP BY (num)
    $query="select count * from product WHERE id=".$product_id;
    $res=mysqli_query($db, $query);
    $res=mysqli_fetch_assoc($res);
    return $res;
}
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы