Друзья, коллеги, код писали давно и не я. По этому прошу помощи.
Есть эфирная сетка, в которой расставляются радио-шоу по дням и часам.
Что нужно:
У радио есть программа например: "Новые релизы" идет 7 дней в неделю в одно и тоже время, дико не нравится, что для этого пришлось добавить целых 7 записей в базу. Хотелось бы оставить одну и поставить галочку или выбрать вместо дня недели "распределить на все дни".
Хочется, чтобы была возможность поставить не день недели, а например вся неделя. И добавленное шоу просто дублировалось на каждый день.
вот так выглядит
Код формирования таблицы:
<table cellpadding="0" cellspacing="0">
<?php $dayweek = date('w');?>
<tr>
<th class="system">день/<br>время</th>
<th <?php if ($dayweek == 1 ) { echo "class='today'"; } ?> >Понедельник</th>
<th <?php if ($dayweek == 2 ) { echo "class='today'"; } ?> >Вторник</th>
<th <?php if ($dayweek == 3 ) { echo "class='today'"; } ?> >Среда</th>
<th <?php if ($dayweek == 4 ) { echo "class='today'"; } ?> >Четверг</th>
<th <?php if ($dayweek == 5 ) { echo "class='today'"; } ?> >Пятница</th>
<th <?php if ($dayweek == 6 ) { echo "class='today'"; } ?> >Суббота</th>
<th <?php if ($dayweek == 0 ) { echo "class='today'"; } ?> >Воскресенье</th>
</tr>
<?php
$weekly = array(
1 => "Понедельник",
2 => "Вторник",
3 => "Среда",
4 => "Четверг",
5 => "Пятница",
6 => "Суббота",
7 => "Воскресенье"
);
$timeonair = array(
array("time" => "10:00", "color" => "c2d697", "colortext" => "000"),
array("time" => "11:00", "color" => "c2d697", "colortext" => "000"),
array("time" => "12:00", "color" => "c2d697", "colortext" => "000"),
array("time" => "13:00", "color" => "c2d697", "colortext" => "000"),
array("time" => "14:00", "color" => "c2d697", "colortext" => "000"),
array("time" => "15:00", "color" => "c2d697", "colortext" => "000"),
array("time" => "16:00", "color" => "c2d697", "colortext" => "000"),
array("time" => "17:00", "color" => "c2d697", "colortext" => "000"),
array("time" => "18:00", "color" => "00afee", "colortext" => "000"),
array("time" => "19:00", "color" => "00afee", "colortext" => "000"),
array("time" => "20:00", "color" => "00afee", "colortext" => "000"),
array("time" => "21:00", "color" => "00afee", "colortext" => "000"),
array("time" => "22:00", "color" => "00afee", "colortext" => "000"),
array("time" => "23:00", "color" => "00afee", "colortext" => "000"),
array("time" => "00:00", "color" => "375d88", "colortext" => "fff")
);
$dbase = "";
$user = "";
$pass = "";
try {
$dbh = new PDO('mysql:host=localhost;dbname=' . $dbase, $user, $pass);
} catch (PDOException $e) {
echo $e->getMessage();
}
$rowspan2_array = array();
for ($i = 0; $i < count($timeonair); $i++) {
echo "<tr>";
if ($i + 1 == count($timeonair))
echo "<td style='background: #" . $timeonair[$i]["color"] . ";color: #" . $timeonair[$i]["colortext"] . ";'>{$timeonair[$i]['time']}<br>01:00</td>";
else
echo "<td style='background: #" . $timeonair[$i]["color"] . ";color: #" . $timeonair[$i]["colortext"] . ";'>{$timeonair[$i]['time']}<br>{$timeonair[$i+1]['time']}</td>";
$rowset = $dbh->query("SELECT * FROM radioshow WHERE radioshow.timeonair = '{$timeonair[$i]['time']}' and active='yes'")->fetchAll(PDO::FETCH_ASSOC);
for ($j = 1; $j <= count($weekly); $j++) {
if (!isset($rowspan2_array["day" . $weekly[$j] . "time" . $timeonair[$i-1]['time']]))
$result = "<td>";
else
$result = "";
if ($rowset && !isset($rowspan2_array["day" . $weekly[$j] . "time" . $timeonair[$i-1]['time']])) {
foreach ($rowset as $row) {
if ($row["dayweek"] == $weekly[$j] && $row["time_limit"] == 60) {
$result = "<td class='radioshow' style='background: #99CCFF;'><a target='_blank' href='http://gtiradio.ru/radioshow/".$row["radioshowurl"]."'>" . $row["title"] . "<br>with " . $row["author"] . "</a>";
} else if ($row["dayweek"] == $weekly[$j] && $row["time_limit"] == 120) {
$rowspan2_array["day" . $weekly[$j] . "time" . $timeonair[$i]['time']] = true;
$result = "<td class='radioshow' rowspan=2 style='background: #66CCFF;'><a target='_blank' href='http://gtiradio.ru/radioshow/".$row["radioshowurl"]."'>" . $row["title"] . "<br>with " . $row["author"] . "</a>";
} else {
$result .= " ";
}
}
} else {
$result .= " ";
}
if (!isset($rowspan2_array["day" . $weekly[$j] . "time" . $timeonair[$i-1]['time']]))
$result .= "</td>";
echo $result;
}
echo "</tr>";
}
?>
</table>