Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
Sterx +
Зарегистрирован: 08.12.02
Сообщения: 2665
|
Добавлено: 14/10/04 в 13:56
|
|
Код: | function build_page_new() { $sql = "select * from $linx_table where site_date > ".$new_date." order by site_date, site_category, site_title"; $rs = mysql_query($sql,$conn); // work out how many are new and parse $current_category = 0; while($row=mysql_fetch_array($rs)) { if($current_category!=$row[site_category]) { if($current_category!=0) $new_link_html.="</blockquote>\n"; $temp_cat = $row[site_category]; $current_category = $row[site_category]; } $new_link_html.= build_link_html($row[site_title],$row[site_url],$row[site_descrip],$row[site_avs],true,$row[site_popular],$row[site_banner]); } }
|
насколько я понимаю конструкция while($row=mysql_fetch_array($rs)) перебирает ассоциативный массив как отсортировать этот массив по конкретному ключу, например по site_date спасибо
|
K началу
|
|
|
dimonka
Зарегистрирован: 22.07.04
Сообщения: 79
|
Добавлено: 14/10/04 в 18:27
|
|
Если вкратце - то ты не совсем прав. Цикл будет работать, пока в $row присваивается ненулевое значение. Функция mysql_fetch_array() возвращает ассоциативный массив с одним кортежем результата запроса (эээ... кортеж - это строка в таблице, если вкратце ), и затем ты можешь использовать значения массива $row. Сортировать этот массив нет смысла, т.к. во-первых он ассоциативный, а во вторых содержит только один ряд таблицы (значения всех атрибутов для одного ряда). Да и к тому же из запроса видно, что в цикле while ты как раз и проходишь по всем результатам запроса, которые уже отсортированы по site_date (а затем по site_category и site_title). Сортировка производится движком SQL.
|
K началу
|
|
|
ah2ng
Зарегистрирован: 21.12.03
Сообщения: 91
|
Добавлено: 14/10/04 в 18:31
|
|
прямо в sql запросе сортируй как нужно ... а если нужно сортировать именно данные, которые возвращает твой запрос, то сначала
Код: | $rw_arr = array(); while($row=mysql_fetch_array($rs)) { $rw_arr[] = $row; }
|
а потом уже сортируй свой массив как тебе угодно, например методом пузырька
|
K началу
|
|
|
Sterx +
Зарегистрирован: 08.12.02
Сообщения: 2665
|
Добавлено: 14/10/04 в 18:33
|
|
thx как составить запрос с обратной сортировкой? т е по условию site_date > ".$new_date." полученная выборка была бы в обратном порядке?
|
K началу
|
|
|
R.Bear
Зарегистрирован: 29.09.00
Сообщения: 156
|
Добавлено: 14/10/04 в 18:40
|
|
Сортировать лучше при выборке из базы сразу как и делается в запросе, но если уже сильно хочется отсортировать и после, например чтобы лишний раз к базе не обращатся, то можно использовать функции сортировки с вызовом своей функции usort() например.
|
K началу
|
|
|
R.Bear
Зарегистрирован: 29.09.00
Сообщения: 156
|
Добавлено: 14/10/04 в 18:41
|
|
order by порядок сортировки в запросах sql ... в твоем случае сортировка идет сначала site_date потом по site_category и потом по site_title а то что ты написал это параметры выборки выбираются данные больше какой-то даты.
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1619
|
Добавлено: 14/10/04 в 18:55
|
|
Вобщем в качестве примера:
Код: | ORDER BY site_date ASC, site_category DESC, site_title ASC |
Буду отсортированны по порядку: site_date - A-Z site_category - Z-A site_title - A-Z
|
K началу
|
|
|
Sterx +
Зарегистрирован: 08.12.02
Сообщения: 2665
|
Добавлено: 14/10/04 в 19:32
|
|
спасибо ну почему блин ответ на форуме приходит, когда перевернешь кучу мануалов и форумов
|
K началу
|
|
|
undef
Зарегистрирован: 15.09.03
Сообщения: 357
|
Добавлено: 14/10/04 в 20:49
|
|
где вас програмит учили.. select * кладет базу, указывайте поля сразу!
кортеж... таких слов в русском языке нет! есть слово row,query,record,result, как угодно, но не кортеж ... брррр!
|
K началу
|
|
|
dm
Зарегистрирован: 13.08.03
Сообщения: 54
|
Добавлено: 14/10/04 в 22:51
|
|
undef писал: | кортеж... таких слов в русском языке нет! есть слово row,query,record,result, как угодно, но не кортеж ... брррр! |
тут ты не прав, кстати  мне самому слух это режет не меньше чем ПЭВМ или НЖМД, но вот в солидных, с формулами, книгах по теории реляционных баз (особенно переводных) - именно так и пишут, кортеж, отношение и тд
|
K началу
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|