这里我使用查询来获取许可证号码的最后两个碰撞发生日期,如下所示:
<?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];
}
?>
我希望将结果拆分为单独的字段。这意味着文本字段中的date1和另一个文本字段中的date2。其实我什么都不知道。请帮我。 我的数据库设计是
+--------------------------------------------------+
| CID | ID | LICENCE_NUMBER | CDATE |
+--------------------------------------------------+
| 1 | 1 | 3/4858/2012 | 2018-02-06 |
| 2 | 1 | 3/4858/2012 | 2018-03-20 |
+--------------------------------------------------+
答案 0 :(得分:0)
正如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