|
|
|
| Не как не могу решить одну задачку:
Нужно узнать Кол-во месяцев с минимальной даты в таблице и вывести эти даты по каждому месяцу | |
|
|
|
|
|
|
|
для: brys
(06.05.2010 в 05:50)
| | не удивительно, что Вы не можете решить эту задачу, лично я даже понять её не могу, попробуйте описать её немного подробнее | |
|
|
|
|
|
|
|
для: Valick
(06.05.2010 в 07:46)
| | есть данные в таблице с полями (int) id и added (datetime) записи которые добавлялись несколько месяцев. Мне надо выводить данные как постраничная навигация, но за место "LIMIT от и до" надо чтобы выводились данные за каждый месяц. То бишь 1 страница и это 1 месяц.
Как сделать это с простыми записями мне известно, мне хотя бы описать алгоритм действий | |
|
|
|
|
|
|
|
для: brys
(06.05.2010 в 09:42)
| | У Вас будут страницы переменной длины.
Вам не нужен LIMIT.
Нужно условие WHERE `added` BETWEEN ... AND ... | |
|
|
|
|
|
|
|
для: Trianon
(06.05.2010 в 10:11)
| | Тут все понятно, а как сделать навигацию? | |
|
|
|
|
|
|
|
для: brys
(06.05.2010 в 10:14)
| | Какой фрагмент вызывает трудности? | |
|
|
|
|
|
|
|
для: Trianon
(06.05.2010 в 10:16)
| | Тут уже надо php приписать
Вот вы мне в прошлый раз помогли разобраться с постраничной навигацией
c первым кодом мне понятно, как построить запрос я понимаю (пишу первый код для полной ясности)
$num = 10;
$page = intval($_GET['page']);
$count_sql = mysql_query("......`");
$count = mysql_num_rows($count_sql);
$total = intval(($count-1) / $num) + 1;
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$SQL = mysql_query(".....");
while($r = mysql_fetch_assoc($SQL_c))
{
......
}
|
а тут выводим навигацию по LIMIT.
for($i = max(1, $page-2), $end = min($total, $page+2);
$i < $end;
$i++)
|
Сейчас 1 страница равно 10 записям, а мне надо чтобы 1 страницы была равно одному месяцу | |
|
|
|
|
|
|
|
для: brys
(06.05.2010 в 10:26)
| | > $count_sql = mysql_query("......`");
> $count = mysql_num_rows($count_sql);
Такое безобразие я Вам посоветовать не мог.
И я несовсем понимаю, при чем тут этот код вообще. По-моему, он плохо передает логику обработки.
Если Вы представляете себе постраничку лишь посредством именно этого кода - разбивайте его на логические фрагменты, и меняйте их поотдельности. | |
|
|
|
|
|
|
|
для: Trianon
(06.05.2010 в 11:23)
| | Вы мне посоветовали это код
for($i = max(1, $page-2), $end = min($total, $page+2);
$i < $end;
$i++)
|
Вот ссылка http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=67924&page=1
Первый вы мне не советовали | |
|
|
|
|
|
|
|
для: Trianon
(06.05.2010 в 11:23)
| | Вот вроде получилось:
Запрос:
$minDateSql = mysql_fetch_assoc(mysql_query("SELECT PERIOD_DIFF(DATE_FORMAT(MIN(`added`), '%Y%m'),DATE_FORMAT(NOW(), '%Y%m')) AS `minDate` FROM `content`"));
|
Навигация:
for($i = 0; $i < ltrim($minDateSql['minDate'], '-'); $i++) {
echo '<a href="#">'.date("Y-m", strtotime(date('Y-m').' - '.$i.' month')).'</a> ';
}
|
| |
|
|
|