![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| trigger |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
Господа! ощущая слабость прошу помощи в решении задачи.
Задача Выбрать по одной строке из таблицы при условии что статус страницы=1 игнорируя остальные произвести действия с этой строкой (в процессе пометив ее статусом 2) выбрать следующую строку с теми-же параметрами -> повторить действие. итак до тех пор пока строки со значением не закончатся. Тоесть завершить работу цыкла после того как все строки отработаются Заранее благодарю
Это сообщение отредактировал(а) trigger - 16.1.2007, 18:38 |
|||
|
||||
| JAPH |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 8.1.2007 Где: Ленобласть Репутация: 3 Всего: 23 |
ИМХО странная задача. Где столкнулся (просто интересно)?
Что такое get_next_content? Обрабатывает строку? Кто такая $mark? Она в цикле меняется? Если нужно обрабатывать все строки, то почему бы не запросить все сразу:
а потом обрабатывать по одной:
В конце можно изменить статус всех обработанных:
Чем не устраивает? -------------------- Что непонятно - спрашиваем |
||||||
|
|||||||
| trigger |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
эээээээээ спасибо - некоторые моменты учту - спасибо. Но наверное невнятно выразился.
итак - это скрипт - который индексирует все ресурсы корпорации. Ресурсов немало и каждый из них имеет не менее 15 000 документов (страниц). поэтому все ссылки выбирать из базы - это както некамильфо. поэтому выбрал следующий алгоритм:
после чего следующий код
в идеале вытягивает первую ссылку из таблицы pull где status=1 get_next_content ($id,$url); забирает по ссылке контент и заносит покачто в базу и обновляет status на status =2 после того как это все произошло - идет следующая выборка вот и когда отработало все (и нет в таблице строк со статусом = 1)- нужно выйти из цыкла - но я в нем застрял $mark - задает значение истины в цыкл |
|||
|
||||
| JAPH |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 8.1.2007 Где: Ленобласть Репутация: 3 Всего: 23 |
Можно попробовать всё-таки while заменить на if - если необработанные строки в БД остались, то мы выбираем одну, цикл не нужен; если не остались, то можно в ветке else изменить $mark, чтобы выйти из цикла
-------------------- Что непонятно - спрашиваем |
|||
|
||||
| trigger |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 12.7.2006 Репутация: нет Всего: нет |
странно но ума не хватило самому Это сообщение отредактировал(а) trigger - 17.1.2007, 01:50 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |