- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем пря. Тут назрел такой, вроде, не сложный вопрос. но что-то я не вдуплю как прально решается.
Нужна функция
А что функция возвращать должна? Эту строчку или что?
яж написал ряд $id/$pid
ид на входе - пид на выходе (целые числа)
Так чтоли?
function GetPID($id, $maxid, $minid=0) {
$i=0;$f=1;$mass=array();
while ($i!=$id)
{
$pid[]=($i+1).'/'.$f;
$i++;$f++;
if ($f>$maxid) {$f=1;}
}
return $pid;
}
Ну мысль ты понял, только $pid не массив, а целое число, мой ряд - это, в качестве примера 6 вызовов функции, я просто написал последовательность вход/выход, что было понятно чего я жду.
Но цикл мне не подходит, цикл я и сам могу, но это же ужасно! Допустим, если $id шестизначное, а $maxid пара сотен, то это тыщи раз цикл должен исполниться, это меганерационально. Хотя, я уверен, должна быть простейшая математическая функция.
Я просто приведу практический пример. На сайте есть раздел с патнерским контентом, который по понятым причинам вяло ранжируется.
я хочу разбавить партнерский контент вставками со списками тем на форуме и заголовками новостей. Но шоб это был не рандомные блоки и не повторялись, насколько это возможно.
Допустим,
адрес страницы: content.php?id=NNNNNN¶m1=¶m2.. отсюда
$id = intval($_GET['id']);
$fcount = кол-во тем на форуме;
$ncount = кол-во новостей;
//Тут-то и приходит наша мегафункция на помощь
$fid = GetPID($id, $fcount); //айдишник от которого будут выбраны темы на форуме
$nid = GetPID($id, $ncount); //айдишник от которого будут выбраны новости
.. ну и тд.
Но представь, что тут мы два раза прокрутили предложенный тобой цикл, А? На каждой странице.. некрасиво :(
Может нужно это?
$pid=$id%$maxid;
if($pid==0) $pid=$maxid;
Ну и условие на $id=0 наложить, если нужно.
походу дела да, а я вот что придумал:
if ($id>$maxid) {$pid = $maxid - Floor($id/$maxid)*$maxid;
} else {
$pid = $maxid;
}
pastuhoff, а твой вариант это смещение вроде называется, да? всегда хотел по нему хелп найти, да процент-то яшка не ищет :)
Да ладно вам на меня наезжать))) Я то думал целый ряд нужно вернуть)))
Аа! Тогда прощаем :)
banshee(oleg), это "целочисленное деление" вроде называется. Вернее, остаток от него.