新的stackoverflow。大約 5 年前,我建立了一個預訂網站,從那以后就沒有接觸過 php,所以非常生疏。一切都很好。但是我想進行一些更新。作為更新的一部分,我有一個按日期從 Mysql 表中分組的表。此表現在可以有同一日期的 1、2、3 或 4 個結果。為了讓用戶更清楚,我想按日期為行著色。它可以是一個日期的灰色,下一個日期為白色,下一個日期為灰色,依此類推。我確實有為所有日期著色的代碼,不幸的是,我最終會得到具有相同顏色的連續日期。
while ($row = mysqli_fetch_assoc($results)) {
$id_array[] = $row["id"];
$Fltnum_array[] = $row["fltnum"];
$Date_array[] = $row["Date"];
$Name_array[] = $row["Name"];
$Lesson_array[] = $row["vouchertype"];
$Vnum_array[] = $row["vnum"];
$Phone_array[] = $row["phone"];
$Email_array[] = $row["email"];
$Ten_array[] = $row["Ten"];
$Ten1_array[] = $row["Ten1"];
$Eleven_array[] = $row["Eleven"];
$Twelve_array[] = $row["Twelve"];
$Thirteen_array[] = $row["thirteen"];
$Fourteen_array[] = $row["Fourteen"];
$Fithteen_array[] = $row["Fifteen"];
$Sixteen_array[] = $row["Sixteen"];
}
<body style="left: 50%; position: absolute; height:1000px; ">
<div id="apDiv3">
<?php
echo "<form action='#' name='mainForm' method='post'>
<table border='1' align='center' cellpadding='3' cellspacing='0' >
<tr>
<th>Name</th>
<th>Flight Type</th>
<th>Date</th>
<th>10:00</th>
<th>10:00</th>
<th>11:00</th>
<th>12:00</th>
<th>13:00</th>
<th>14:00</th>
<th>15:00</th>
<th>16:00</th>
</tr>";
for ($i = 0; $i < count($id_array); $i ) {
$id = $id_array[$i];
$Fltnum = $Fltnum_array[$i];
$Date = $Date_array[$i];
$Name = $Name_array[$i];
$Lesson = $Lesson_array[$i];
$Vnum = $Vnum_array[$i];
$Phone = $Phone_array[$i];
$Email = $Email_array[$i];
$Ten = $Ten_array[$i];
$Ten1 = $Ten1_array[$i];
$Eleven = $Eleven_array[$i];
$Twelve = $Twelve_array[$i];
$Thirteen = $Thirteen_array[$i];
$Fourteen = $Fourteen_array[$i];
$Fithteen = $Fithteen_array[$i];
$Sixteen = $Sixteen_array[$i];
$set_checked = ($Ten < 1) ? 'checked="checked"' : '';
$set_checked0 = ($Ten1 < 1) ? 'checked="checked"' : '';
$set_checked1 = ($Eleven < 1) ? 'checked="checked"' : '';
$set_checked2 = ($Twelve < 1) ? 'checked="checked"' : '';
$set_checked3 = ($Thirteen < 1) ? 'checked="checked"' : '';
$set_checked4 = ($Fourteen < 1) ? 'checked="checked"' : '';
$set_checked5 = ($Fithteen < 1) ? 'checked="checked"' : '';
$set_checked6 = ($Sixteen < 1) ? 'checked="checked"' : '';
$newDate = date("d-m-Y", strtotime($Date));
echo "
<input type='hidden' name='id[]' value='$id'>
<input type='hidden' name='Fltnum-$id' value='$Fltnum'>
<td><input input type='text' name='Name-$id' value='$Name'></td>
<td><input input type='text' name='Lesson-$id' value='$Lesson'></td>
<td><input type='text' name='Date-$id' value='$newDate'> </td>
<input type='hidden' name='vnum-$id' value='$Vnum'>
<input type='hidden' name='Phone-$id' value='$Phone'>
<input type='hidden' name='Email-$id' value='$Email'>";
...
echo
"</tr>";
}
echo "<tr align='center'><td colspan='8'><input type='submit' name='submit' value='Make Booking' ></td></tr></table>";
echo "</form>";
?>
</div>
我也花了幾天時間瀏覽論壇。
添加更多細節,結果如下:

這就是我想要的:

uj5u.com熱心網友回復:
看起來好像您想為行替換顏色,但前提是日期與前一行不同(因此相同的連續日期將顯示相同的顏色)。
您可以通過將回圈中的日期與前一個日期進行比較,然后根據它們是否相同應用陣列中的顏色來執行此類操作。
$backgrounds = ["#FFFFFF", "#EEEEEE"];
$currentBackground = 0;
for ($i = 0; $i < count($id_array); $i ) {
$id = $id_array[$i];
$Fltnum = $Fltnum_array[$i];
$Date = $Date_array[$i];
$Name = $Name_array[$i];
$Lesson = $Lesson_array[$i];
$Vnum = $Vnum_array[$i];
$Phone = $Phone_array[$i];
$Email = $Email_array[$i];
$Ten = $Ten_array[$i];
$Ten1 = $Ten1_array[$i];
$Eleven = $Eleven_array[$i];
$Twelve = $Twelve_array[$i];
$Thirteen = $Thirteen_array[$i];
$Fourteen = $Fourteen_array[$i];
$Fithteen = $Fithteen_array[$i];
$Sixteen = $Sixteen_array[$i];
$set_checked = ($Ten < 1) ? 'checked="checked"' : '';
$set_checked0 = ($Ten1 < 1) ? 'checked="checked"' : '';
$set_checked1 = ($Eleven < 1) ? 'checked="checked"' : '';
$set_checked2 = ($Twelve < 1) ? 'checked="checked"' : '';
$set_checked3 = ($Thirteen < 1) ? 'checked="checked"' : '';
$set_checked4 = ($Fourteen < 1) ? 'checked="checked"' : '';
$set_checked5 = ($Fithteen < 1) ? 'checked="checked"' : '';
$set_checked6 = ($Sixteen < 1) ? 'checked="checked"' : '';
$newDate = date("d-m-Y", strtotime($Date));
// Only check previous value if we are not on the first row
if($i > 0) {
// If the date is the same, do not change backgrounds
// Otherwise, toggle between backgrounds
$currentBackground = ($Date_array[$i] == $Date_array[$i-1]) ? $currentBackground : ($currentBackground == 0) ? 1 : 0;
}
// This just sets the color from our backgrounds array
$background = $backgrounds[$currentBackground];
echo "
<tr style='background: $background;'>
<td><input type='hidden' name='id[]' value='$id'></td>
<td><input type='hidden' name='Fltnum-$id' value='$Fltnum'></td>
<td><input input type='text' name='Name-$id' value='$Name'></td>
<td><input input type='text' name='Lesson-$id' value='$Lesson'></td>
<td><input type='text' name='Date-$id' value='$newDate'> </td>
<td><input type='hidden' name='vnum-$id' value='$Vnum'></td>
<td><input type='hidden' name='Phone-$id' value='$Phone'></td>
<td><input type='hidden' name='Email-$id' value='$Email'></td>
</tr>";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/513544.html
標籤:phpcss颜色脚本团体
上一篇:無法正確建立模型關系。它說屬性在Eloquent構建器實體中不存在
下一篇:Laravel-爭論太少
