PHP 比较日期并突出显示相同的日期

PHP compare dates and highlight same

我想打印一个月中的几天并突出显示 与我 MySQL table.

中的日期相同

table 中有 运行 行([=28= 的日期]、距离、速度...),我想突出显示当我 运行.

我的代码:

$user="1";
$dbmonth="201806";
$month = date('m');
$year = date('Y');
$days = date('t');

for($d=1; $d<=$days; $d++)
{
$time=mktime(12, 0, 0, $month, $d, $year);
if (date('m', $time)==$month)
$list=date('Y-m-d', $time);

$select1cal = mysqli_query($conn, "SELECT * FROM runs WHERE user=$user AND dbmonth=$dbmonth ORDER BY date");
while($data=mysqli_fetch_array($select1cal)) {
$dateid1=$data['date'];
$event1=date('Y-m-d', $dateid1);

if ($list == $event1) {$show="<p style=\"color:#0f0;\">$list</p>";} else {$show="<p>$list</p>";}
}
echo $show;
}

此代码打印一个月中的所有日期(2018-06-01 到 2018-06-30),但突出显示的只是一个日期。如何突出显示 table 中的所有日期?例如,我的 table.

中有 4 行日期介于 2018-06-01 和 2018-06-30 之间

这是我的代码的输出:

<p>2018-06-01</p>
<p>2018-06-02</p>
<p>2018-06-03</p>
<p>2018-06-04</p>
<p>2018-06-05</p>
<p>2018-06-06</p>
<p>2018-06-07</p>
<p>2018-06-08</p>
<p>2018-06-09</p>
<p>2018-06-10</p>
<p>2018-06-11</p>
<p>2018-06-12</p>
<p style="color:#0f0;">2018-06-13</p>
<p>2018-06-14</p>
<p>2018-06-15</p>
<p>2018-06-16</p>
<p>2018-06-17</p>
<p>2018-06-18</p>
<p>2018-06-19</p>
<p>2018-06-20</p>
<p>2018-06-21</p>
<p>2018-06-22</p>
<p>2018-06-23</p>
<p>2018-06-24</p>
<p>2018-06-25</p>
<p>2018-06-26</p>
<p>2018-06-27</p>
<p>2018-06-28</p>
<p>2018-06-29</p>
<p>2018-06-30</p>

尝试将所有数据库记录添加到数组:

$runs = array();
$select1cal = mysqli_query($conn, "SELECT * FROM runs WHERE user=$user AND dbmonth=$dbmonth ORDER BY date");
while ($data=mysqli_fetch_array($select1cal)) {
    $dateid1=$data['date'];
    $event1=date('Y-m-d', $dateid1);

    array_push($runs, $event1);
}

然后在所有天​​之后循环,检查天是否在数组中。

if (in_array($list, $runs)) {
    $show="<p style=\"color:#0f0;\">$list</p>";
} else {
    $show="<p>$list</p>
}