hollanditkzn: так, ты отсылаешь изображение на сервер, аяксом (если не понятно как-гуглишь, тема избитая), обратно получаешь путь до файла на сервере в json формате, парсишь(получаешь чистый урл до изображения), передаешь яваскрипту который обрабатывает картинку, соответственно обрабатываешь, сохраняешь (на кнопке сохранить висит опять же скрипт загружающий аяксом полученную картинку на сервер) и заменяем версию которая лежит на сайте на отредактированную. Если все шаги понятны - решение очевидно. Где не ясно - гуглить.
hollanditkzn: проще было бы в вопросе описать все требования к скрипту, или в гугл забить, и вообще пока сложно понять что в конце должно получиться? Текст поверх картинки отдельно текстом или картинкой? В итоге должно сохранится на сервере или у клиента на машине?
Я задам простой и банальный вопрос, но он может вам помочь если правильно подойти к вопросу. А ВАМ ТОЧНО НАДО ИМЕННО ТАК ОРГАНИЗОВАТЬ РАБОТУ? Вы бы описали что делаете, в 90% случаев такое решение оказывается не нужным.
Кирилл Горелов: ну как может не влиять, представь что ты упаковываешь метровые швабры в 3х метровые коробки, умно? И хранить удобно и компактно, правда? Так и выборка будет проблемней и медленней если не ставить правильные значения, все придумано не дураками и не просто так.
viktorleg: очень просто, я вижу как минимум 3 варианта реализации, как и любой нормальный программист, что используется у вас не известно, по этому и спрашиваю - вы хоть что то в коде понимаете или поставили и больше ничего не трогали?
BitRouter: чтобы вы понимали - мускуль(как и любая бд) не хранилище логики, это хранилище данных. Да, там есть встроенные механизмы сортировки, подсчета и вычислений, но основная задача - хранение и доступ к данным. Такая структура как описана у вас, скажем так, для опытного глаза несет печать ущербности, то есть если нужна какая-то серьезная логика просто для хранения - значит что то не так сделано. Просто для информации.
WantToKnowWhatIsWebDev: ну, как мы видим - к базе данных доступ есть, в смысле линк, соответственно хорошие новости: пдо работает и хост и бд указаны верно. Плохие новости - логин или пароль неверные, а может и оба, смотрите в панели хостера какой логин и пароль у вас бд, обычно они отличаются от логина и пароля к панели хостинга.
Константин: выгоднее вытащить все, положить в массив и оттуда достать нужную ветку, сколько это займет зависит от размера дерева, но обычно категорий много не бывает, ну пару сотен если это очень большой магазин. Массив на 200-300 элементов - не смешите мои тапочки, это вообще не нагрузка.
Евгений: тут мы немного о разном, я к тому что нет разницы в том где делать сортировку или другой какой-то код, вопрос как это должно работать - код выполняется внутри объекта, при этом в итоге достаточно 1 вызова метода класса, чтобы все сделать. Производительность на объектах, как ни странно, в последних версиях даже слегка быстрее, за счет опкода и сокращения используемой памяти. Простой пример - вы грузите в память ВСЕ функции которые вам понадобятся, я гружу только необходимые в данный момент объекты с их методами(еще и меньшими по объему, т.к. они четко привязаны к объекту и менее "универсальны"). Скорость работы кода будет даже выше, за счет сокращения чтения всех ваших функций.
Евгений: Чет слабо понимаю суть вопроса, почему это не возможно в 1 проход? Просто это не всегда рационально, но возможно, прямо в геткомментс сортируйте как нравится и пришите уже сортированный в $this>comments_array[]. Просто это не всегда нужно, значит можно разбить на отдельные методы. Плюс такого подхода - модульность, завтра у вас поменяется система хранения, допустим будет не плоская, а нестед сет ветки комментариев, менять придется только небольшой кусок, где сортировка. Когда проект хоть как то растет или развивается - это АХРЕНЕННОЕ преимущество по скорости разработки.