我编写了一个代码,每个月获取所有数字,然后从数据库中添加事件。我需要数字来自$ sqldates中的数据库,而现在我只得到数组,就像我回显$ sqldates时一样。我的数据库中现在有4、10、22和26。
这就是我现在看到的图片 enter image description here
这是我要看这张照片的结果。
如何从数据库中获取结果,如图2所示?请问如何从数组中获取数字。
<table>
<?php
//database connent
include 'con.php';
//get day from event
$sql = "SELECT day, color FROM events";
$result = mysqli_query($con, $sql);
$sqldates = array(array('day', 'color_value'), array('date_value', 'color_value'), array('date_value', color_value));
while($row=mysqli_fetch_array($result)){
array_push($sqldates, $row['day'], $row['color'] );
echo $row['day'];
}
$counter = 0;
//first day
$firstday = '1';
$two = cal_days_in_month(CAL_GREGORIAN, 8, 2018); // 31
//for loop get all day in month
for ($number = $firstday; $number <= $two; $number++)
if (in_array($number , $sqldates)) {
echo "<td width=50 bgcolor='#{$sqldates[$counter][1]}'>$sqldates[$counter][0]</td>";
$counter++;
} else {
echo"<td width=50 bgcolor='#1e8e8e'>$number</td>";
}
?>
</table>
答案 0 :(得分:0)
您正在尝试回显数组。相反,您应该使用指定的索引从该数组中回显一个值。如果我没看错,这应该可以工作:
//first day
$firstday = '1';
$two = cal_days_in_month(CAL_GREGORIAN, 8, 2018); // 31
//for loop get all day in month
$counter = 0;
for ($number = $firstday; $number <= $two; $number++)
if (in_array($number , $sqldates)) {
echo"<td width=50 bgcolor='#f44242'>$sqldates[$counter]</td>";
$counter++;
} else {
echo"<td width=50 bgcolor='#1e8e8e'>$number</td>";
}
答案 1 :(得分:0)
对于您的更新问题,这应该是很好的指南:
<table>
<?php
//database connect
include 'con.php';
//get day from event
$sql = "SELECT day, color FROM events";
$result = mysqli_query($con, $sql);
$sqldates = array();
$colors = array();
while($row=mysqli_fetch_array($result)){
array_push($sqldates, $row['day']);
array_push($colors, $row['color']);
}
//first day
$firstday = '1';
$two = cal_days_in_month(CAL_GREGORIAN, 8, 2018); // 31
//for loop get all day in month
$counter = 0;
for ($number = $firstday; $number <= $two; $number++)
if (in_array($number , $sqldates)) {
echo "<td width=50 bgcolor='$colors[$counter]'>$sqldates[$counter]</td>";
$counter++;
} else {
echo"<td width=50 bgcolor='#1e8e8e'>$number</td>";
}
?>
</table>
请注意,您需要每天定义颜色,否则将收到“未定义的偏移量”通知。