Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сортировка списка на php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: помогите пожалуйста.
AbrakadabrA
Отправлено: 07 Июня, 2011 - 22:59:52
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Доброго времени суток читающему! )
Дело такое.
Есть таблица в MySQL со столбцами "дата", "покупка", "цена".
В ней забито несколько покупок.
Шлю запрос на получение всего этого добра, в результате получаю массив.
В дальнейшем хочу чтобы на странице покупки каждой даты сортировались по отдельным DIVам, но для этого мне надо как то сортировать строки из таблицы по датам.

Подкиньте пжлс идею, весь моск расковырял, незнаю как сие чудо сотворить... (((
 
 Top
DlTA
Отправлено: 07 Июня, 2011 - 23:06:44
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




1
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT ... FROM ... [WHERE ...] ORDER BY ...
посмотрите "ORDER BY";
или
2 usort.
 
 Top
AbrakadabrA
Отправлено: 07 Июня, 2011 - 23:21:13
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Насколько я понимаю, если использовать первый вариант то с ростом строк в таблице, будет расти и количество запросов в БД.
А вот второй вариант надо обмозговать.
Спасибо за ответ )

(Отредактировано автором: 07 Июня, 2011 - 23:22:06)

 
 Top
Давит
Отправлено: 07 Июня, 2011 - 23:32:42
Post Id



Частый гость


Покинул форум
Сообщений всего: 147
Дата рег-ции: Май 2011  


Помог: 2 раз(а)




ORDER BY дата - Сортировка массива по дате
ORDER BY дата DESC - Сортировка массива по дате на обратном поратке

PHP:
скопировать код в буфер обмена
  1. $rezult = mysql_query("SELECT * FROM ваш_таблица ORDER BY дата");
  2. $row = mysql_fetch_array($rezult); //в массиве $row есть полное  содержание таблицы "ваш_таблица"
  3.  


AbrakadabrA пишет:
В дальнейшем хочу чтобы на странице покупки каждой даты сортировались по отдельным DIVам,

PHP:
скопировать код в буфер обмена
  1.  
  2. do
  3.     {
  4.  
  5. echo"<div> ".$row["дата"]."  </div>";
  6.  
  7.     }
  8. while($row = mysql_fetch_array($rezult))

(Отредактировано автором: 07 Июня, 2011 - 23:39:07)

 
 Top
DeepVarvar Супермодератор
Отправлено: 08 Июня, 2011 - 00:26:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Давит пишет:
do
Ни вкоем случае нельзя!!! Если в таблице нет записей - будет ошибка!!!
 
 Top
molchun201
Отправлено: 08 Июня, 2011 - 00:30:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




do - вроде как вообще плохой стиль говорят Растерялся


-----
Обрамляйте код тегами и читайте
 
 Top
DlTA
Отправлено: 08 Июня, 2011 - 01:22:41
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




AbrakadabrA пишет:
Насколько я понимаю, если использовать первый вариант то с ростом строк в таблице, будет расти и количество запросов в БД.
НЕТ, это один запрос, и если не намечается каких нить напряжных и ненужных манипуляций с данными
то он приоритетней, так как обработка данных в MySQL происходит гораздо быстрее чем в PHP
 
 Top
Мелкий Супермодератор
Отправлено: 08 Июня, 2011 - 09:12:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




molchun201 пишет:
do - вроде как вообще плохой стиль говорят

Важно понимать работу циклов их отличия цикла с постусловием от цикла с предусловием. С подачи какого-то альтернативно одарённого человека, do {} while используют для обхода результата запроса, однако подобная конструкция неверно обрабатывает ситуацию, когда запрос не вернул ни одной строки.

Давит пишет:
$row = mysql_fetch_array($rezult); //в массиве $row есть полное содержание таблицы "ваш_таблица"

Нет, не так. В массиве $row содержимое первой строки результата.


-----
PostgreSQL DBA
 
 Top
Comatose
Отправлено: 08 Июня, 2011 - 10:47:17
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Май 2011  
Откуда: Киев


Помог: 0 раз(а)




1. для понимая как по мне проще использовать foreach, либо обычный while. только туда надо передать массив в любом случае, пусть он даже будет пустым.
2. если вы боитесь за кол-во данных, кто мешает использовать LIMIT ? и сделать пейджер.
3. если вообще неохота насиловать базу, тогда просто можно испольщовать jQuery DataTables ;)


-----
Вы начинаете читать это предложение, которое заканчиваете читать.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB