viktorleg: очень просто, я вижу как минимум 3 варианта реализации, как и любой нормальный программист, что используется у вас не известно, по этому и спрашиваю - вы хоть что то в коде понимаете или поставили и больше ничего не трогали?
BitRouter: чтобы вы понимали - мускуль(как и любая бд) не хранилище логики, это хранилище данных. Да, там есть встроенные механизмы сортировки, подсчета и вычислений, но основная задача - хранение и доступ к данным. Такая структура как описана у вас, скажем так, для опытного глаза несет печать ущербности, то есть если нужна какая-то серьезная логика просто для хранения - значит что то не так сделано. Просто для информации.
WantToKnowWhatIsWebDev: ну, как мы видим - к базе данных доступ есть, в смысле линк, соответственно хорошие новости: пдо работает и хост и бд указаны верно. Плохие новости - логин или пароль неверные, а может и оба, смотрите в панели хостера какой логин и пароль у вас бд, обычно они отличаются от логина и пароля к панели хостинга.
Константин: выгоднее вытащить все, положить в массив и оттуда достать нужную ветку, сколько это займет зависит от размера дерева, но обычно категорий много не бывает, ну пару сотен если это очень большой магазин. Массив на 200-300 элементов - не смешите мои тапочки, это вообще не нагрузка.
Евгений: тут мы немного о разном, я к тому что нет разницы в том где делать сортировку или другой какой-то код, вопрос как это должно работать - код выполняется внутри объекта, при этом в итоге достаточно 1 вызова метода класса, чтобы все сделать. Производительность на объектах, как ни странно, в последних версиях даже слегка быстрее, за счет опкода и сокращения используемой памяти. Простой пример - вы грузите в память ВСЕ функции которые вам понадобятся, я гружу только необходимые в данный момент объекты с их методами(еще и меньшими по объему, т.к. они четко привязаны к объекту и менее "универсальны"). Скорость работы кода будет даже выше, за счет сокращения чтения всех ваших функций.
Евгений: Чет слабо понимаю суть вопроса, почему это не возможно в 1 проход? Просто это не всегда рационально, но возможно, прямо в геткомментс сортируйте как нравится и пришите уже сортированный в $this>comments_array[]. Просто это не всегда нужно, значит можно разбить на отдельные методы. Плюс такого подхода - модульность, завтра у вас поменяется система хранения, допустим будет не плоская, а нестед сет ветки комментариев, менять придется только небольшой кусок, где сортировка. Когда проект хоть как то растет или развивается - это АХРЕНЕННОЕ преимущество по скорости разработки.
Наталия: дай то бог, а то это просто адский ад какой-то, я так в начале 90 учился, ясное дело тогда не было нормального ооп, да и книг нормальных днем с огнем, но сегодня инфы нормальной море, все под ооп заточено, учитесь сразу правильному стилю.
Arik: Это самый правильный путь, скажем так - для удобства вы можете создать 2 модели(допустим чтобы проще визуально воспринимать и разделять логику), но записи в базе будут в одной таблице, т.к. в храниении данных разницы нет, значит они ничем не отличаются кроме 1 поля в бд, и, соответственно, различий не больше чем между машинами разных цветов.
Maximys781: Слабенько понял, уж извини, но твой вопрос и комментарии говорят о том что в понимании процесса у тебя огромная дыра, то есть для начала почитай как работает, потом уже пытайся написать. Понимания как работает серверсайд и объекты у тебя нету, отсюда и вопрос, который смотрится как "я в ухе гвоздиком ковырял - бац, звук у телека пропал, как починить телевизор?". Надо понимать что от чего работает, а не куда тыкнуть что бы заработало.
BelOFF007: ээ, то есть выбрать 150 последних ид и сделать "селект ин" передав 150 идишников нагружено??? Это должно работать просто мегабыстро, даже с учетом мускуль-пых-мускуль, или где то косяк с индексами, или вы делаете что то не так. В крайнем случае можно использовать джойн, ссылка в ответе.
AlxMrz: при приведении кода в комментариях используйте оборачивание в тег code (как в форме ответа) , это не дает коду "выполняться" и код не обрывается.
dllweb: возможно сессия из соседней вкладки сработает, точно не скажу, надо пробовать, я никогда такой хренью не занимался, нужно длинный цикл - кидай в отдельный поток, при завершении сохрани результат, при запросе выведи.