трудности с выводом новостей по дням недели

Активист

Активист
Команда форума
Я там пару ошибок допустил, торопился на планерку, подправил.

iolke
Е мае, @@@@@@@....####
Будь, добр, объясни что тебе надо?

Тебе надо было вывести афишу на неделю вперед, в разные таблицы? ВОТ ТЕБЕ КОД.

Приведенный мною код делает именно это.

PHP:
<?php
// Инициализируем переменные
$tables_array = array();
$rusDays = array("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"); // Создаем массив "дней недели", в соответствии с порядком параметра %w

// Формируем запрос к Базе данных, который возвращает все записи
// за период с текущего на неделю [b]ДЛЯ СЕМИ ДНЕЙ[/b] 
$query = "
SELECT `head`, `chislo`, `content`, DATE_FORMAT(`chislo`, '%w') AS `weekday`
FROM `afisha`
WHERE `chislo` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL + 7 DAY)
ORDER BY `chislo`
";

// Непосредственно делаем запрос к бд, либо получаем ошибку.
$queryId = query($query) or die(mysql_error()); 

// "Сортируем" полученный результат и создаем двумерный 
// массив "дней недели" и содержащихся в них строк,
// возвращенных из БД ([b]как ты и просил "и чтоб все не подряд"[/b])

while ($result = mysql_fetch_assoc($queryId)) {
    $tables_array[$result['weekday']][] = $result;
} 

// Обрабатываем все значения массива, присваивая
// переменной $weekday - ключ (который является в нашем
// случае днем недели (от 0 до 6, где 0 - воскресенье, 6- суббота)
// Присваиваем переменной $rows - значения в массиве, который
// в нашем случае содержит строки из БД

foreach ($tables_array as $weekday => $rows) {
    echo "<table><tr><th>Афиша на ближайший ".$rusDays[$weekday]."</th></tr>";
    foreach ($rows as $row) { // обрабатываем все строки и выводим их в РАЗНЫХ таблицах....
        echo "<tr><td><b>".$row['head']."</b>".$row['content']."</td></tr>";
    }
    echo "</table>";
}

?>

Что не понятно?
 

iolke

Новичок
так очень даже понятно, все работает и все именно так как и надо было, спасибо. Отдельное спасибо за комментарии к коду.
 
Сверху