Как сопоставить запрос из базы данных и отправить его в базу заказов? - PullRequest
0 голосов
/ 02 августа 2020

У меня проблемы с приемом заказов с использованием php и базы данных maridb. Коды приведены ниже.

Таблица базы данных:

Table emp_tasks
      workId(primary), mobile, workstatus, onlinestatus, last_task, job_cat

Table orders
      orderno(primary), user_mobile, emp_mobile, service_id,
                        order_date, order_status, lon, lat, service_cat

take_orders. php

$jobCategory = $_GET["job_cat"];
$st=$con->prepare("select * from emp_tasks
          where onlinestatus=1 and workstatus=0 and job_cat=?
          order by workId");
$st->bind_param("s", $jobCategory );
$st->execute();
$rs=$st->get_result();

$row=$rs->fetch_assoc();
echo json_encode($row);


$st2=$con->prepare("insert into orders
       (user_mobile,emp_mobile,service_id,lon,lat,service_cat) 
        values(?,?,?,?,?,?)");
$st2->bind_param("ssidds", $_GET["mobile"], $row["mobile"],
                           $_GET["service_id"], $_GET["lon"], 
                           $_GET["lat"], $_GET["service_cat"]);
$st2->execute();

$dt=date("Y-m-d h:i:s");
$st3=$con->prepare("update emp_tasks set workstatus=1,last_task=?
        where mobile=? and job_cat = ? 
order by workId");
$st3->bind_param("sss", $dt, $row["mobile"], $jobCategory);
$st3->execute();


$st4=$con->prepare("select emp_mobile, max(orderno) as orderno 
       from orders where emp_mobile=?
       group by emp_mobile" );
$st4->bind_param("s", $row["mobile"]);
$st4->execute();

Все элементы успешно вставлены в таблицу заказов, но emp_mobile из таблицы emp_tasks остается пустым, а также job_cat не совпадает, если его номер в таблице больше единицы.

user_mobile, service_id et c - взято из другой таблицы.

Ориентируйтесь только на emp_mobile из таблицы заказов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...