- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
по этому раз в пол года переписываю некоторые сайты с 0....
А сколько строк кода в таких сайтах?
Согласен. Вариант, предложенный через массив, бует быстрее, значит на нем следует и остановиться!
function Random_Related_Articles(&$tpl){
global $db,$a_Ad,$TITLE_FIELD;
$reg_id = REGION_CRITERION;
$ql = 'SELECT link_id AS o_id,'.$TITLE_FIELD.' AS o_title, images AS o_images, b_descr AS o_descr, rand() AS rnd FROM '.TBL_AD.
' WHERE catid="'.$a_Ad['catid'].'"AND _region_id IN ('.get_daughter_cats($reg_id, ModTable('Regions','category')).')
'.FilterGetSQL().' GROUP BY link_id ORDER BY rnd LIMIT 4';
$res = $db->query($ql);
while($v = mysql_fetch_assoc($res)){
array_rand ();
Потом построить запрос
$tpl->AddCell('b_Random_Related_Articles',$v);
}
}
А сколько строк кода в таких сайтах?
Нельзя мерять программу строками кода!
Я вам на делфи напишу редактор БД ниразу не залезая в код.))))))
Потом построить запрос
Можно ли пример кода для аналогии?
Можно ли пример кода для аналогии?
Сначала считывайте в переменную $mass все ID из таблицы запросом.
//Потом делайте:
array_shift($mass); //Это перемешает массив.
//Потом выбираем ID
for($i=0;$i<СКОЛЬКО_НУЖНО;$i++)
{
$tmp=$mass[$i];
}
//Теперь через запятую их складываем
$zap=implode(',',$tmp);
//И делаем запрос, вместо rand()
.... WHERE id IN ($zap)....
Теперь у нас в ответке будет сколько нужно случайных строк.
эмм. потер
Делаю так и вижу, что допускаю ошибку!
Получаю ворнинги
Warning: array_shift() [function.array-shift]: The argument should be an array in on line 21
Warning: implode() [function.implode]: Invalid arguments passed in on line 27
$zap = NULL
BasePelleta, может сначала нужно данные ID считать, а уже потом перемешивать. Как думаете?
+ замените $tmp=$mass[$i]; на $tmp[]=$mass[$i];
Вы путаете array_shift с shuffle
Вы путаете array_shift с shuffle
var_dump($zap); выводит string(5) "34,,,"
Вы путаете array_shift с shuffle
Да, точно. Эт я просто в другом примере у себя смотрел, там именно нужно была такая сортировка.
BasePelleta, ну и где массив в переменной $masa?