Есть скрипт, который, будучи запущенным для необходимых вычислений, не укладывается в таймлимит. Причем паразитных нагрузок вроде не производит. Выбирает записи, отвечающие условию (на данный момент 314), затем для каждой записи делает доп. запрос в другую базу с использованием select_min. Получившийся результат записывает в третью базу.
Успевает обработать 220 из 314
Не хотелось бы увеличивать таймлимит, хочу распределить нагрузку.
Моих скромных познаний хватит только на намутить последовательно выполняющиеся запросы с limit, который рассчитывается исходя из num_rows первоначальной выборки. Но ведь наверняка такие ситуации нередки, когда нужно разделить нагрузку на базу.
Не присоветуете что-нибудь умного?
Ну окромя прямо сейчас перестать использовать MySql и перестать заниматься программированием на PHP?
в старые добрые времена, когда все разработчики ПХП писали mysql_query и проверяли ее результат на успех
существовала старая добрая функция mysql_num_rows ...
Спасибо! Как не хватало свежей мысли... А ведь сам у половины запросов num делаю...
Ну процесс работы с базой мне знаком, поэтому и кажется проще.
Запишу в базу по клику, при открытии сводной страницы сделаю запрос из базы...
Баран ведь идет туда, куда знает
exlant пишет:
тогда с начало разбирайтесь с массивами, а то без них никуда!
и еще раз вы из базы получите массив! Точно такой же массив вы можете хранить в сессиях! Зачем дергать БД, и писать лишний код? Разве что для тренировки и самообучения!
по всему остальному! можно так сделать, но зачем? чем сессии не подходят?
а по записи сессии в бд или в файл, куча инфы в гугле!
там все можно сделать через session_set_save_handler()
дык я не против, просто квалификации не хватает сессии в базу писать ))
я понимаю так, что сессии нужно присвоить идентификатор типа случайного хэша.
записать в базу все данные, отобранные юзеров, за своим id и в качестве выборного параметра - хэшем.
а при открытии сводной страницы (корзины) - делать запрос по хэшу и выводить все данные к нему привязанные. так?
exlant пишет:
я так и не понял почему в сессии нельзя это все хранить??
ну и как вариант сделать свои сессии.. писать информацию в файл(ы) или базу, давать юзеру через куки какой то сгенерированный id, и по нему потом дергать инфу из файла(ов) или из базы, хотя по сути сессии так и реализованы, зачем тогда изобретать велосипед?
(Добавление)
Проверьте меня...
Я же могу сделать так?
В сессии у меня будет крутиться случайное число ['sid'].
Юзер выбрал набор параметров. Нажал что-то типа "сформировать еще одну заявку".
По клику все выбранные данные записались в базу под уникальным ID, одно из полей - `sid`. Ансет всех переменных, кроме ['sid'].
Юзер снова подбирает набор параметров. Снова нажимает "сформировать еще одну заявку".
По клику - еще одна запись в базу под уникальным ID и тем же `sid`. Ансет всех переменных, кроме ['sid'].
Есть такое понятие как корзина.
Я под этим понимаю складирование информации о конкретном товаре, к которой потом можно вернуться и пакетно обработать.
А вот если единица "товара" - это набор выбранных пользователем параметров?
То есть человек навыбирал из формы те параметры, которые ему нужны. Оформил заявку, содержащую эти параметры.
Если хочется дать ему возможность сформировать несколько наборов параметров, а потом единой заявкой все отправить - я так понимаю помогут сессии.
Так и реализовал - в сессию записывается первый набор параметров. После повторного выбора параметров, на сводной странице выводятся сразу два набора параметров. Сводная заявка, занавес. Все работает.
НО! Это справедливо на данном этапе моего понимания сессий только для формирования ДВУХ наборов.
А если человеку нужно сделать 5 заявок? Понятно, что после отправки двух заявок я дестрою сессию, он зашел еще раз на страницу выбора параметров, забил еще две - отправил. Потом еще одну.
А как реализовать механизм, чтобы человек мог создавать столько наборов параметров, сколько ему нужно, а потом все разом отправлять в заявке? То есть, по сути, как хранить в "корзине" неограниченное количество наборов?
Приветствую!
Прошу подсказки, а не сделать за меня
Приходит из формы произвольное количество ID ( name чекбоксов = exc[] )
При приеме собирается в текстовый ряд ID:
А как я могу получить для каждого полученного ID соответствующее название статьи?
То есть я же не могу прописать заранее ассоциативный массив с названиями в этом случае, так как ID в таблице чекбоксов, доступных пользователю изначально, формируется из базы данных. Получается мне нужно, чтобы ассоциативный массив названий - id сформировался на лету, при получении списка выбранных id.
Жесть, короче, написал.
Посоветуете? (Добавление)
Уточню:
Вывел таблицу с титлами статей, id статей в качестве value и чекбоксами.
Человек отметил те статьи, что ему интересны.
Запрос GET передал эти выбранные id.
Чекбоксы все время имеют разные ID, так как список статей для выбора (в самом начале путешествия) формируется на лету из базы, на основе и свежих поступлений. Поэтому заранее определенный ассоциативный массив - не катит. Получается его нужно собирать на лету.
И вот что делать бедному гусару, если список титлов нужен-нужен?
AlexNewaro, допустим, есть таблица с актуальными ценами и есть таблица с информацией о новых ценах и датах начала их действия.
Пишете php-скрипт, проверяющий сегодняшнюю дату и обновляющую таблицу с актуальными ценами, если есть новые, действующие с сегодняшней даты.
Скрипт запускаете посредством cron ежесуточно, до начала торгового дня...
В общем, ничего сверхъестественного.