Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: какими методами пользоваться? [4]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (6): « 1 2 3 [4] 5 6 »   

> Описание: какими методами пользоваться?
caballero
Отправлено: 11 Декабря, 2011 - 15:54:29
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Ему ничего поднять не надо ему надо вернуть результат запроса. Выполнился или нет.

Если запрос не выполнился по причине падения базы - уже работать дальше бессмысленно.

Цитата:
А чтобы user видел что программа что-то делает до получения ответа и вешается картинка типа обрабатываем рез-т. Пока она работает, он ничего не делает не сможет делать.


Когда перегружается страница он тоже ничего не может делать и писать для этого ничего не надо.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tuareg
Отправлено: 11 Декабря, 2011 - 16:06:12
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




caballero пишет:

Когда перегружается страница он тоже ничего не может делать и писать для этого ничего не надо.

Ну если исходить из этого принципа, то да. Все остальное тогда и не важно.
 
 Top
3d_killer
Отправлено: 11 Декабря, 2011 - 16:13:20
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




tuareg пишет:
caballero пишет:

такого вообще не должно быть - это неоттестированый проект с багами. Тут уж без разницы аякс или нет.

Т.е если в момент запроса упал сервер БД, еще что-то у Вас это ни как не проверяется???
Ага а логи ошибок пишут для чего интересно????
caballero пишет:
А кто уберет твой div если яваскрипт глюкнет (обычное дело) и событие не сработает

С чего он должен глюкнуть-то. Потому что кто-то плохо написал. Улыбка
P.S В настройках $.ajax есть параметр timeout(по моему так), он за это отвечает.
Крайний вариант F5

да по умолчанию он равняется 60 секундам
 
My status
 Top
caballero
Отправлено: 11 Декабря, 2011 - 16:19:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Ну если исходить из этого принципа, то да. Все остальное тогда и не важно.


Важна всегда эфективность. Вот я щас доделываю за какими то румынами сайт американцу на Adobe Flex.
Вот там 100% асинхронка. Вообще никаких перезагрузок листаний и прочего. Отлаживать конечно это - отдельный геморрой.
Но там как минимум нет смешивания технологий. На бэкенде объекты которые удаленно вызываются через weborb, дергаешь функцию получаешь результат.
весь сайт - страница - html с одной строкой для swf файла.

В случае с PHP аяксом все равно надо формировать страницы хотя бы для того чтобы прорисовать там элементы которыми надо аяксом манипулмровать. как ни крути объем работы если не в два то в полтора раза больше. При чем не понятно ради чего.
Аргумент со скоростью сомнительный. Аргумент насчет нагрузки на сервер менее сомнительный но разработка ПО стоит гораздо дороже чем железо. Проще и дешевле добавить проца или планку памяти на сервер.

Реальный (хоть и не озвучиваемый как правило а выдаваемый за предпочтения юзеров которые якобы любят аякс хотя большинство из них даже не слышали что это) аргумент - попытка упростить себе жизнь избегая забот о персистентности страницы при перезагрузке ( например состояние чекеров или дерева) на самом деле выливается гемором с аяксом. Тем более есть фреймворки которые сами заботятся о перстистентности страницы.

(Отредактировано автором: 11 Декабря, 2011 - 16:20:02)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tuareg
Отправлено: 11 Декабря, 2011 - 16:53:34
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




caballero пишет:

Важна всегда эфективность.

По-моему Мы по разному понимаем значение слова эффективность.
Для меня эффективность - когда пользователю(именно пользователю) удобно и комфортно будет работать.
Для одной компании, я разрабатывал сайт (чуть сложнее визитки). Все я сделал на чистом PHP(перезагрузка и т.д). Когда я пришел сдавать проект я про себя ужаснулся. Не потому, что что-то не работало. А потому, скорость инета там была <=256. Все эти прорисовки страницы и т.д. Там время шло на секунды. Буквально за день-два я переписал его с использованием jQuery. Причем оглядываясь назад, я понимаю, что использовал его не эффективно. Скорость работы увеличилась в разы админка начала летать.
Сейчас для этой компании я пишу программу, плюс сейчас же разрабатывается дизайн еще нескольких сайтов для них же(группа компаний). А все дело как раз в эффективности работы не с точки зрения времени, а юзабилити. Простое, понятное юзабилити Вы не сможете реализовать на PHP.
Это же скрытие страницы. Каким образом Вы сделаете, что бы можно было скрыть одновременно 5 элементов.(Выделить 5 элементов и нажав скрыть их) На Jquery легко. +как бонус вместо 5 запросов к Бд - только один.
Я уж молчу про перетаскивание (сортировку) товаров на странице.
На счет быстродействия всегда ajax быстрее перезагрузки страницы(часть(кусок контента) всегда меньше целого(всей страницы)). По крайней мере я не могу придумать ситуация когда это случится.
Да пользователь действительно может не знать, что такое ajax. Но он всегда увидит результаты его работы.

(Отредактировано автором: 11 Декабря, 2011 - 16:59:35)

 
 Top
caballero
Отправлено: 11 Декабря, 2011 - 17:22:40
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Для меня эффективность - когда пользователю(именно пользователю) удобно и комфортно будет работать.


Смотреть на заблокированый сайит с крутяшейся картинкой ничем не удобнее чем страница перегружается.


Цитата:
А потому, скорость инета там была <=256.

инет дешевеет с каждым днем и с каждым днем растет скорость. Пока вы будет делать аякс он уже не будет иметь смысла а на месте вышего сайта будет лругой сделанный за более короткое время. Это так же несерьезно как разрабатывать сайты совместимые с PHP меньше 5.3

Цитата:
Простое, понятное юзабилити Вы не сможете реализовать на PHP.

Всю жизнь реализовывали а теперь вдруг невозможно

Цитата:
Каким образом Вы сделаете, что бы можно было скрыть одновременно 5 элементов.(Выделить 5 элементов и нажав скрыть их) На Jquery легко.

Аякс тут при чем? Скрыть это одно а обновить БД по кнопке save со всеми скрытиями отмесченными в hidden полях - это другое.



Цитата:
Я уж молчу про перетаскивание (сортировку) товаров на странице.

аякс тут при чем?


Цитата:
как бонус вместо 5 запросов к Бд - только один.

Как количество запросов связано с аякс? Либо можно обновить БД одним запросом либо нельзя.

Цитата:
На счет быстродействия всегда ajax быстрее перезагрузки страницы(часть(кусок контента) всегда меньше целого(всей страницы)).

Не настолько существенно. Надеюсь не станете утверждать что если страница 100 строк грузится секунду то обновление строки аяксом будет 10 милисекунд?
Если медленный инет или перегружен сервер то как раз удобнее засейвить одним махом всю страницу со всеми изменениями чем за каждым телодвижением смотреть на крутилку пока аякс отрабатывает.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tuareg
Отправлено: 11 Декабря, 2011 - 17:35:43
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




caballero пишет:
Я уж молчу про перетаскивание (сортировку) товаров на странице.
аякс тут при чем?

UI-sortable например??? Сохранить новую позицию снова всю страницу перегружаем???
Хотя фактически уже все прорисовано??? Нужно только получилось или нет
caballero пишет:

Не настолько существенно. Надеюсь не станете утверждать что если страница 100 строк грузится секунду то обновление строки аяксом будет 10 милисекунд?
Если медленный инет или перегружен сервер то как раз удобнее засейвить одним махом всю страницу со всеми изменениями чем за каждым телодвижением смотреть на крутилку пока аякс отрабатывает.

А я не хочу(да и редко так бывает) всем махом, сначала тут скрыл, потом эту поднял, потом еще поднял, потом еще скрыл. Устанет он ее прорисовывать.
 
 Top
caballero
Отправлено: 11 Декабря, 2011 - 17:41:06
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
UI-sortable например??? Сохранить новую позицию снова всю страницу перегружаем???
Хотя фактически уже все прорисовано??? Нужно только получилось или нет

Вообще не перегружаем пока не сделаны окончательно все изменения. Что значит получилось не получилось. Не получилось это баг и надо править код.

Цитата:
А я не хочу(да и редко так бывает) всем махом, сначала тут скрыл, потом эту поднял, потом еще поднял, потом еще скрыл. Устанет он ее прорисовывать.

Устанет несколько раз аякс дергать и ждать пока отработает. А прорисовать надо всегда один раз когда вы уже определитесь с изменениями и решите что уже все - запоминаем.
Впрочем в инете полно грамотных реализацмй сайтов которые мгновенно отрисовывают без всяких аяксов.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tuareg
Отправлено: 11 Декабря, 2011 - 17:51:42
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




caballero пишет:

Вообще не перегружаем пока не сделаны окончательно все изменения. Что значит получилось не получилось. Не получилось это баг и надо править код.

Отслеживаем изменения через js? Который глючит и т.д.
caballero пишет:

Устанет несколько раз аякс дергать и ждать пока отработает. А прорисовать надо всегда один раз когда вы уже определитесь с изменениями и решите что уже все - запоминаем.

Правил, я правил и тут свет выключился, браузер завис, инет отключили, браузер дурак закрыл. И все давай снова Улыбка
 
 Top
caballero
Отправлено: 11 Декабря, 2011 - 17:57:38
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Отслеживаем изменения через js? Который глючит и т.д.

Ну это эж вы его хотите юзать

Цитата:
Правил, я правил и тут свет выключился, браузер завис, инет отключили, браузер дурак закрыл. И все давай снова

Могу предложить более частую ситуацию. Правил я правил -смотрю направил не туда. Думал нажму Cancel (уйду со страницы или перерефрешу) и все дела - а фиг там юзабельный аякс уже поменял мне все в базе и уже слышны матюки менеджера по продажам


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tuareg
Отправлено: 11 Декабря, 2011 - 18:08:34
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




caballero пишет:
Цитата:
Отслеживаем изменения через js? Который глючит и т.д.

Ну это эж вы его хотите юзать

Вот расскажите как мне переместить товар(не важно что) с 15 позиции на 150 и другой с 90 на 2.
Я предлагаю юзать js. Вы?
Алгоритм пожалуйста, хотя бы в нескольких словах.
Мой прост как 2 копейки. После каждого UPDATE ajax-запрос, 1 запрос к БД и как бы все.

Цитата:
Могу предложить более частую ситуацию. Правил я правил -смотрю направил не туда. Думал нажму Cancel (уйду со страницы или перерефрешу) и все дела - а фиг там юзабельный аякс уже поменял мне все в базе и уже слышны матюки менеджера по продажам

А типа "Вы действительно хотите сохранить изменения/удалить ?" уже как бы все ни как???
И потом эта проблемма решается после первого подобного случая, что надо думать прежде чем делать(хотя в принципе кроме удаления все остальное не серьезно(не фатально))
 
 Top
caballero
Отправлено: 11 Декабря, 2011 - 18:22:00
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Мой прост как 2 копейки.

Мой еще проще - не давать пользователю на ответственных страницах вообще ничего таскать с риском промахнутся мышкой и т.п. Что бы там не впаривали насчет юзабельности умники с консалтерских контор - не они будут отвечать за неконсистентность данных в БД.

Цитата:
После каждого UPDATE ajax-запрос, 1 запрос к БД и как бы все

минимум 1 запрос после КАЖДОГО аякс апдейта. А то и не один. Например мне надо сделать какие то проверки. Вместо одним махом эту проверку сделать перед апдейтом надо каждый раз ее делать по запроссу аякса.

Цитата:
И потом эта проблемма решается после первого подобного случая,

Переписыванием обратно с аякса? Или увольнением разработчика

Цитата:
что надо думать прежде чем делать

именно

Цитата:
(хотя в принципе кроме удаления все остальное не серьезно(не фатально))

еще как фатально когда большая сложная база - восстановить порядок иногда можно только многочасовым копанием руками в базе.

(Отредактировано автором: 11 Декабря, 2011 - 18:22:59)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tuareg
Отправлено: 11 Декабря, 2011 - 18:30:28
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




caballero пишет:

Мой еще проще - не давать пользователю на ответственных страницах вообще ничего таскать с риском промахнутся мышкой и т.п. Что бы там не впаривали насчет юзабельности умники с консалтерских контор - не они будут отвечать за неконсистентность данных в БД.

Изменять порядок как-то надо???
Цитата:

минимум 1 запрос после КАЖДОГО аякс апдейта. А то и не один. Например мне надо сделать какие то проверки. Вместо одним махом эту проверку сделать перед апдейтом надо каждый раз ее делать по запросу аякса.

Это я имел ввиду порядок вывода на странице. А потом процедуры MySQL уже ни как???
Цитата:

Переписыванием обратно с аякса? Или увольнением разработчика

Зачем все запоминается. Да и потом реализовать принцип Ctrl+Z я не думаю, что проблематично
Цитата:

еще как фатально когда большая сложная база - восстановить порядок иногда можно только многочасовым копанием руками в базе.

С чего бы это так? Если я что не то исправил(допустим не тот товар), я его исправлю обратно так же.
А вот если "восстановить порядок иногда можно только многочасовым копанием руками в базе"
Это ошибки самой программы и разработчика. Все что делается через админку, должно и восстанавливаться через нее
 
 Top
caballero
Отправлено: 11 Декабря, 2011 - 18:52:03
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Изменять порядок как-то надо???

Для этого в БД есть Order By
Цитата:
А потом процедуры MySQL уже ни как???

Очень медленные и неэфективные - Mysql это не промышленная БД. И потом лишний запрос он всегда лишний даже если в процедуре и на оракле.

Цитата:
Да и потом реализовать принцип Ctrl+Z я не думаю, что проблематично

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

Цитата:
Все что делается через админку, должно и восстанавливаться через нее

Все что делается корректно. А не что некоректно - юзер промахнулся мышкой а пока разобрался на складе уже накладные распечатали.
Для подобных систем нужно сложные проверки на сервере при изменении, которые если и делаются одним запросом то весьма навороченным. Не будет нормально работать это через асинхронку. Либо блокировать страницу за каждым движением юзера что глупо либо рисковать что следующий асинхронных вызов может начаться до того как закончится подвисший на инете или заблокировавший транзакцией БД, первый.

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


Когда наберетесь опыта хотя бы лет пять то тоже не будет вестись на модные фишки. Сначала надо убедится что в этом КОНКРЕТНОМ месте в этом КОНКРЕТНОМ функционале данное КОНКРЕТНОЕ технологическое решение будет омиеть ОЧЕЫВИДНЫЙ измеряемый цифрами выиграш .
Причем выиграш КОМПЛЕКСНЫЙ. Лично я не стал бы тратить дополнительное время и усилия например на ту же асинхронку (включая усилия на отладку и т.л.) усложняя код, только потому что страница в среднем будет грузится 0.6 секунд вместо 0.8.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
tuareg
Отправлено: 11 Декабря, 2011 - 19:10:23
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




caballero пишет:

Для этого в БД есть Order By

есть поле sortorder, по нему выводятся товары(как раз ORDER by). Мне надо поменять порядок(изменить sortorder у конкретного товара) Как это сделать В вашем варианте? Особенно если меняются 2 товара, а страница не перегружается до момента нажатия кнопки?
Как поменять в моем варианте я знаю, причем поменяется только то что надо(если с 5 позиции на 10 а базе 10000 записей) запрос затронет только 5 позиций
В вашем варианте, я так подразумеваю надо делать UPDATE всей БД?
Цитата:

Очень медленные и неэфективные - Mysql это не промышленная БД. И потом лишний запрос он всегда лишний даже если в процедуре и на оракле.

По сравнению с чем? Простого запроса? Можно источник информации? Я думаю иначе.

Цитата:

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

Спорить не буду не думал я пока об этом.
Цитата:

Все что делается корректно. А не что некоректно - юзер промахнулся мышкой а пока разобрался на складе уже накладные распечатали.

Это как-то не впечатляет, он ошибиться и распечать могут по любому
Цитата:

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

Тут наверное как раз транзакции и процедуры, триггеры могут помочь???
Цитата:

Не будет нормально работать это через асинхронку. Либо блокировать страницу за каждым движением юзера что глупо либо рисковать что следующий асинхронных вызов может начаться до того как закончится подвисший на инете или заблокировавший транзакцией БД, первый.

Есть $.Deffered() и очередность запросов, это не сложно. Есть callback();
Все это можно отследить
 
 Top
Страниц (6): « 1 2 3 [4] 5 6 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB