|
|
|
|
|
для: OLi
(15.07.2008 в 00:58)
| | Можно сделать так:
<?php
$month = array(1=>"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
//если в таблице всего четыре этих поля, то можно * и забрать все,
//если "куча", то ограничится только необходимыми полями, чтобы не гонять лишнее
$rex=mysql_query("SELECT id, name, MONTH(date) AS date, rate FROM table WHERE... ORDER BY date");
$lastmonth = 0;
while($dann=mysql_fetch_assoc($rex)) {
if ($lastmonth != $dann['date']) {
echo "<b>".$month[$dann['date']].":</b><br>";
$lastmonth = $dann['date'];
}
echo $dann['id'] ." - ".$dann['rat']." - ".$dann['name']."<br>";
}
|
| |
|
|
|
|
|
|
|
для: OLi
(23.06.2008 в 21:43)
| | Кто-то поможет мне-вроде ясно описал проблему. | |
|
|
|
|
|
|
|
для: sim5
(23.06.2008 в 07:12)
| | Спасибо за код! Врезультате я получаю вывод на экран содержимого:
Июнь - 95 - picture
Июнь - 96 - bad
Июнь - 97 - small
Декабрь - 94 - voke
Как сделать чтоб выводило так
Июнь:
95-picture
96-bad
97-small
Декабрь:
94 - voke
и тд. | |
|
|
|
|
|
|
|
для: OLi
(23.06.2008 в 01:18)
| | Какой-то бред, ей богу. В каком-то цикле делать запрос, да еще while для запроса, который выполняется до самого запроса!!! Это что за конструкция такая?
<?php
$month = array(1=>"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
//если в таблице всего четыре этих поля, то можно * и забрать все,
//если "куча", то ограничится только необходимыми полями, чтобы не гонять лишнее
$rex=mysql_query("SELECT id, name, MONTH(date) AS date, rate FROM table WHERE... ORDER BY date");
while($dann=mysql_fetch_assoc($rex)) {
echo $dann['id'] ." - ".$dann['rat']." - ".$dann['name']." - ".$month[$dann['date']]."<br>";
}
|
mysql_fetch_array - возвращает две копии идентичного массива, один из которых индексный, другой ассоциативный. Если вы не используете один из них, зачем вы его получаете? | |
|
|
|
|
|
|
|
для: sim5
(22.06.2008 в 19:38)
| | Описываю тогда то что я задумал
Строение таблицы
--------------------------------
| id | date | name | rat |
++++++++++++++++++|
| 1 06 fff 60 |
| 2 01 ddd 45 |
| |
| |
| |
| |
|-------------------------------|
В таблице выше-поле date имеет запись вида 2007-01-12(год,месяц, число)
Надо сделать следующее:
Вывести всю информацию из таблицы по месяцам например
---------------------------------------
Январь
---------------------------------------
и тд
В таблице может быть не один месяц а несколько...
При этом надо делать запрос при котором все месяца относятся к 2008 году
Вот что я думаю:
1 Извлечь с таблицы все месяца(Как это сделать SQL) и подсчитать их кол-во
2 Преобразовать числа месяца в буквенное значение(01-Январь и тд)
3 Использовать вложенный цикл
4 Вывод
-----------------------------------------
Например получил массив месяцев-чисел из запроса
$myrow["date"];
Преобразуем:
$mth=array(1=>"Январь","Февраль"...);
В цикле:
for($i=0; $i<=count($mth); $i++){
echo "$mth";
while($dann=mysql_fetch_array($rex)){
$rex=mysql_query("select * from table where...");
print"$dann[id]";
print"$dann[rat]";
print"$dann[name]";
}
}
|
У кого какие мысли-как это сделать??? | |
|
|
|
|
|
|
|
для: OLi
(22.06.2008 в 19:25)
| | Ну а ка же запроса с сортировкой по возрастанию, может вы имеете ввиду отсутствие некоторых месяцев? В любом случае, вы обращатся будете по индексу, и коли такой есть в массиве, то вы получите его значение. | |
|
|
|
|
|
|
|
для: OLi
(22.06.2008 в 19:25)
| | > и массив автоматом проставит индексы не совпадающие с числом месяца!!!
Массив не может ничего проставлять. Что Вы имеете ввиду? | |
|
|
|
|
|
|
|
для: sim5
(22.06.2008 в 18:49)
| | Спасибо за пример.
Но здесь одно НО...
У меня может быть массив не обязательно из всех подряд упорядоченных месяцев-чисел.
Может получиться что-то вроде 01,03,12,09
и массив автоматом проставит индексы не совпадающие с числом месяца!!!
Надо что-то другое придумать... | |
|
|
|
|
|
|
|
для: oli
(22.06.2008 в 17:48)
| |
<?
$mth = array(1=> "Январь", "Февраль",...);
echo $month[intval($myrow["date"])];
|
| |
|
|
|
|
|
|
| Имеется массив дат полученный в результате запроса с сортировкой по возрастанию.
Массив $myrow["date"]
Элементы массива имеют вид типа 01,02,09, 12 и тд(месяца)
Надо придать каждому элементу массива месяц. Например
элементу 02 массива $myrow надо придать значение ФЕВРАЛЬ, элементу 09-значение сентябрь и тд...
Как это можно реализовать... | |
|
|
|
|