[PHP] Доработать скрипт простановки ссылок на мои сайты-саттелиты.

Андрей20 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
12.12.2014

Есть скрипт - логика сложная. Проставляет ссылки сайтов на моих саттелитах.

Много проверок и прочего, в итоге - всё долго.

Требуется исправить два скрипта (упростив их):

В базе есть таблица donors, там есть ID доноров (саттелитов).

Есть таблица sites, там есть ID сайтов (ссылки которых, будут показываться).

Есть таблица rolling_donors_sites, в ней колонки donor_id - site_id

Вот в ней привязывается ID саттелита-донора (из таблицы donors) и сайта (из таблицы sites), ссылки которого на этом доноре выводятся.

-----

Создаем первй скрипт, который:

Логику можно изменить (что бы работало быстрее, не знаю какие методы\варианты) - я опишу, как вижу. А, если можно сделать проще - то сделайте, как надо! :)

Нужно, что бы скрипт очистил таблицу rolling_donors_sites и в ней же по-новой привязал ID саттелита (из таблицы donors) к ID сайта (из таблицы sites).

Вот тут момент: желательно привязать равномерно, например - у меня есть саттелитов, например, 10 000 штук, есть 100 сайтов. Нужно, что бы эти 100 ID были равномерно проставлены к ID саттелитам. (можно 10000\100 и привязать вначале ID1 на первые айди 100саттелитах. Потом ID2 на следующих 100. Или же последовательно проставить => ID1, ID2 ... ID100, ... ID1 - сделать так, как будет быстрее и максимально равномерно.

И второй скрипт, который при запуске (я его буду вещать на крон): будет менять в этой же таблице rolling_donors_sites - ID сайтов. Т.е. каждые 15-20 минут, значение ячеек колонки sites_id - будут меняться на другие.

Вот тут вопрос - как сделать, что бы ставились не рандомные, а последовательно тоже? Но, без потери скорости работы, если это возможно?

Например, саттелитов 20001, а сайтов 100.

donor_id site_id

1 1

2 2

...

20000 99

20001 100

После запуска скрипта,

donor_id site_id

1 2

2 3

...

...

20001 100

20000 1

--

Если это будет долго - тогда просто рандомно можно. Выслушаю предложения.

Заявки фрилансеров