как выбрать последнюю запись в таблице

  • Автор темы Автор темы Safary
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
Ага, понял! Отличный вариант, жаль что раньше его не знал, сейчас буду разбираться, хотя принцип действия понятен.
Спасибо вам большое, понятно обьяснили что даже до меня, тормоза дошло :)

Единственное, насчет сортировки не понял, точнее не до конца понял...Или полностью не понял...
тоесть поле sort, просто числа...

получается вот так на деле это выглядит:

-категория (sort=3)
------подкатегория (sort=1)
------подкатегория (sort=2)
------подкатегория (sort=3)
---------------подподкатегория (sort=1)
-категория (sort=2)
------подкатегория (sort=1)
------подкатегория (sort=2)

можете просто на моем шаблоне подписать что и как, просто саму систему пытаюсь понять.
 
да, именно так. тогда вставка в категорию (в части сортировки) будет выглядеть
UPDATE tbl SET sort= sort+1 WHERE pid = 78 AND sort >= NewElementPos
 
хм, всеравно не понял. А по каком полю сортировать тогда?
Ведь если отсортировать то что я написал выше по полю Sort, то вот что получится:

---------------подподкатегория (sort=1)
------подкатегория (sort=1)
------подкатегория (sort=1)
------подкатегория (sort=2)
-категория (sort=2)
------подкатегория (sort=2)
------подкатегория (sort=3)
-категория (sort=3)

че-то я совсем не пойму
 
ну то как ты выводишь...select + кусок кода разумеется в упрощённом варианте
 
вот так вывожу:
PHP:
$tree_tpl=explode('[separator]',file_get_contents('templates/admin/section_tree.html'));
$tree=str_replace('[tree_name]','разделы сайта',$tree_tpl[0]);
$tree=str_replace('[msg]',$msg,$tree);
$q=mysql_query("SELECT * FROM sections");
while($arr=mysql_fetch_array($q)){
$exp_tree=str_replace('[level-'.$arr['level'].']',$arr['name'],$tree_tpl[$arr['level']]);
$exp_tree=str_replace('[id]',$arr['id'],$exp_tree);
$tree.=$exp_tree;
}
$tree.=$tree_tpl[15];
$content.=$tree;


Это даже не упрощенный вариант =)
 
Safary, тебе БД дана для того, чтобы отбирать НУЖНОЕ а не тянуть все подряд, как тянут все в рот дети до 3-х лет.
отбирай только нужную тебе категорию по pid
ну и сортируй в том же запросе.
 
не, это скрипт админки, который всё дерево таблицы sections выводит, в нем редактировать, добавлять, изменять структуру можно, вот это я ща и делаю. А зачем сортировать в скрипте если можно чтобы сразу база была отсортирована и просто выводить моим скриптом?
 
она у тебя отсортирована пока ты вносишь категории последовательно от первой, потом ее содержимое и т.д. то есть обходишь дерево в грубину. как только этот порядок обхода будет нарушен (добавлением чего-то в более старую категорию), так у тебя все и пойдет лесом.

глупая идея в админке отображать "все". править то тебе надо будет что-то конкретное, в конеретной категории, а все остальные будут ненужным баластом на странице.
 
ну блин... почему глупо отображать... там вся структура сайта получается, очень удобно ведь, все каталоги... типа такой таблицы:

уроки
--photoshop
----веб-графика
----кнопки
----фотоэффекты
----текстовые эффекты
--3dsmax
----моделирование
----анимация
----освещение
--bryce
----моделирование
----освещение
софт
--программы
----анимация
----веб-дизайн
----система
----мультимедиа

Ну вот, типа добавляю категорию в админке и всё. если хочу че-то новое создать, удобно же очень по-моему...

Димаголов, есть какие-нибудь идеи, как сделать сортировку для такой таблицы?
Ну чтобы всё в таблице было осортировано уже, а выводить моим способом... Ну чтобы потом удобно было перемещать категории...

Я только 2 варианта вижу... первый - это сортировать просто цифрами(INT), тоесть поменял одну, и все которые больше тоже инкрементить придется..
или способ - 01.03.02 - как материальный путь, но тоже не очень хорошо-то будет :-(
Есть ещё какие-нибудь варианты?
 
ты пытаешься построить дерево одним запросом. погугли на эту тему, какое представление дерева позволяет выводить его с минимальными телодвижениями.

начни тут
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху