Помощник
|
Перенос данных в таблице |
Paladin111
|
Сообщение
#1
|
||
|
|
||
|
|||
alexdrob |
16.7.2010, 13:26;
Ответить: alexdrob
Сообщение
#2
|
|
А как вы храните значения и суммы?
|
|
|
Paladin111
|
Сообщение
#3
|
|
Значения и данные за неделю берутся из бд, а сумма складывается из данных за неделю и сразу выводится.
таблица: CREATE TABLE IF NOT EXISTS `table3` ( `date` date NOT NULL, `name` varchar(50) NOT NULL, `kol` float(5) NOT NULL ); -- -- Дамп данных таблицы `table3` -- INSERT INTO `table3` (`date`, `name`, `kol`) VALUES ('2010-07-05', 'Значение1', '70'), ('2010-07-07', 'Значение2', '10'), ('2010-07-08', 'Значение1', '300'), ('2010-07-10', 'Значение1', '70'), ('2010-07-11', 'Значение2', '10'), ('2010-07-12', 'Значение3', '50'), ('2010-07-13', 'Значение4', '10'), ('2010-07-13', 'Значение2', '10'), ('2010-07-14', 'Значение3', '50'), ('2010-07-14', 'Значение2', '30'), ('2010-07-15', 'Значение1', '50'), ('2010-07-16', 'Значение3', '50'), ('2010-07-16', 'Значение4', '10'), ('2010-07-17', 'Значение4', '30'), ('2010-07-17', 'Значение2', '10'), ('2010-07-18', 'Значение3', '50'), ('2010-07-18', 'Значение1', '10'), ('2010-07-18', 'Значение2', '50'); PHP: [php] <?php $output = '<table border="1"> <thead style="font-weight: bold;"> <tr><td>Название значения</td>'; $dates = array(); for ($i = strtotime($begin_date), $n = strtotime($end_date); $i <= $n; $i += 86400) { $date = date('d.m.y', $i); $dates[] = $date; $output .= '<td'.($i>$n-86400*2 ? ' style="color: #c00;"' : '').'>'.$date.'</td>'; } $output .= '<td>Сумма значений по строкам</td></tr></thead>'; $result = mysql_query('SELECT * FROM `table3` WHERE `date` BETWEEN "'.$begin_date.'" AND "'.$end_date.'" ORDER BY `name`, `date`'); if ($n = mysql_num_rows($result)) { $prev = ''; $rowsumm = 0; $k = 0; $i = 0; $prow = mysql_fetch_assoc($result); while ($i++ < $n) { $row = mysql_fetch_assoc($result); if ($row['name'] == $prow['name'] and $row['date'] == $prow['date']) { $prow['kol'] += $row['kol']; continue; } if ($prev != $prow['name']) { if ($prev) $output .= str_repeat('<td> </td>', count($dates)-$k).'<td>'.$rowsumm.'</td></tr>'; $output .= '<tr><td>'.$prow['name'].'</td>'; $prev = $prow['name']; $k = 0; $rowsumm = 0; } $j = array_search(date('d.m.y', strtotime($prow['date'])), $dates); $output .= str_repeat('<td> </td>', $j-$k).'<td>'.$prow['kol'].'</td>'; $rowsumm += $prow['kol']; $prow = $row; $k = $j + 1; } $output .= str_repeat('<td> </td>', count($dates)-$k).'<td>'.$rowsumm.'</td></tr></table>'; } echo $output; [/php]$begin_date, $end_date берутся: itogi.php?begin_date=2010-07-12&end_date=2010-07-18 |
|
|
unnormal |
16.7.2010, 15:04;
Ответить: unnormal
Сообщение
#4
|
|
Передавай так:
index.php?start_date=2012-12-12&end_date=2012-12-17 И потом простой запрос, [php]"SELECT * FROM table_name WHERE date >= '".$_GET["start_date"]."' AND date <= '".$_GET["end_date"]."' LIMIT 0,7"[/php] |
|
|
Paladin111
|
Сообщение
#5
|
|
Передавай так: index.php?start_date=2012-12-12&end_date=2012-12-17 И потом простой запрос, [php]"SELECT * FROM table_name WHERE date >= '".$_GET["start_date"]."' AND date <= '".$_GET["end_date"]."' LIMIT 0,7"[/php] У меня стоит передача параметров на этой же странице при выборе другого интервала дат. Страница просто перезагружается с новыми параметрами и все. Вопрос в другом! Как передать итоги на этой же странице, чтоб они соответствовали своим значениям? |
|
|
alexdrob |
16.7.2010, 15:36;
Ответить: alexdrob
Сообщение
#6
|
|
|
|
|
alexdrob |
16.7.2010, 15:52;
Ответить: alexdrob
Сообщение
#7
|
|
|
"select group_concat(concat(`name`,' сумма',`kol`)) as t from `table3` where `date`>'$_GET[start_date]' and `date`<'$_GET[end_date]' group by `name`" типа такого запрос
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Интеграция спортивных данных API. Коэффициенты БК, Live результаты | 15 | yaroslav89 | 6834 | 8.4.2024, 17:17 автор: spoyer_ru |
|
Перенос сайта на CMS Wordpress | 8 | freeax | 4951 | 10.3.2024, 14:58 автор: freeax |
|
ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ [Чарджбек|Рекавери|Возврат] |
9 | Leado | 3887 | 9.2.2024, 16:04 автор: baza0013 |
|
Базы данных, различной тематики, выкладываем тут. Делимся, обмениваемся, заказываем, парсим. |
12 | InfoObmen | 15246 | 4.9.2022, 2:32 автор: Галецкая |
|
требуется перенос с Dle на wordpres нужен человек для переноса движка |
5 | Юрий82 | 1943 | 30.7.2022, 18:02 автор: Klerik84 |
Текстовая версия | Сейчас: 18.4.2024, 9:50 |