Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 29, 2010 10:48:18

Fe_DoS
От:
Зарегистрирован: 2010-11-18
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод меню

Здравствуйте! Пытаюсь вывести меню и столкнулся с проблемой.
Есть таблица menu состоящая из:
id - порядковый номер
url - адрес ссылки
text - текст ссылки
pos - позиция ссылки

Проблем не возникает если выводить меню по порядку, но мне надо ещё и отсортировать меню в соответствии с pos.
Вот это у меня и не получается, на php я такое делал, а вот с питоном не выходит.
Подскажите как можно вывести меню таким образом.
Если pos=1 то эта ссылка выводиться первой, pos=2 выводится второй, pos=3 третьей и т. д.
Заранее благодарю.



Офлайн

#2 Ноя. 29, 2010 12:03:15

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод меню

В запросе можно отсортировать:

SELECT * FROM menu ORDER BY pos ASC



Офлайн

#3 Ноя. 29, 2010 12:31:21

alexx11
От:
Зарегистрирован: 2010-05-13
Сообщения: 208
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод меню

Сдаётся мне что речь не о БД, а о том что словарь содержит не упорядоченные элементы. Выход простой завести упорядоченный список из ключей словаря.



Офлайн

#4 Ноя. 29, 2010 13:20:11

Fe_DoS
От:
Зарегистрирован: 2010-11-18
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод меню

andreiru, отсортировал в запросе, но теперь другая проблема.
Не получается вывести всё это.
Я делаю так:

cursor.execute("""SELECT * FROM Top_Menu ORDER BY pos ASC""")
mn1=cursor.fetchall()
while mn1:
out='<a href="'
out=out+mn1[0][1]
out=out+'">'
out=out+mn1[0][2]
out=out+'</a>'
print out
Ни чего не работает. Страница начинает грузиться и не может загрузиться
в логе пишет Premature end of script headers: index.py



Офлайн

#5 Ноя. 29, 2010 13:29:32

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод меню

Так должно работать:

cursor.execute("""SELECT * FROM Top_Menu ORDER BY pos ASC""")
for link in cursor.fetchall():
print '<a href="'+link[1]+'">'+link[2]+'</a>'



Офлайн

#6 Ноя. 29, 2010 15:05:20

Fe_DoS
От:
Зарегистрирован: 2010-11-18
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод меню

Разобрался, всем большое спасибо за помощь.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version