Разделение результата в цикле while - PullRequest
0 голосов
/ 01 мая 2018

Здесь я использую запрос для получения двух последних дат столкновения номера лицензии следующим образом:

<?php
$licence=$_POST['licence'];
$sel=mysqli_query($con,"select cdate from tblcollision where licence_number='$licence'");
while($s=mysqli_fetch_row($sel))
{
    echo $s[2];
}
?>

Я хочу разделить результат на отдельные поля. Это означает дату1 в текстовом поле и дату2 в другом текстовом поле. На самом деле я не поняла. Пожалуйста, помогите мне. Мой дизайн БД

+--------------------------------------------------+
|    CID    |  ID  |  LICENCE_NUMBER  |   CDATE   |
+--------------------------------------------------+
|    1      |  1   |  3/4858/2012     | 2018-02-06 |
|    2      |  1   |  3/4858/2012     | 2018-03-20 |
+--------------------------------------------------+

1 Ответ

0 голосов
/ 01 мая 2018

Как утверждает mickmackusa, если запрос фильтруется по одному номеру лицензии, нет смысла группировать результат в операторе SQL, а затем анализировать результат в PHP. Просто прочитайте строки и сделайте расчет по полученным датам.

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

Вам необходимо использовать GROUP_CONCAT в вашем запросе:

SELECT licence_number, GROUP_CONCAT(cdate) AS Events_dates
FROM tblcollision
WHERE licence_number='$licence'
GROUP BY licence_number;

Это вернет:

3/4858/2012 | 2018-02-06, 2018-03-20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...