$mass = $db->one_col_array("SELECT link_id FROM ".TBL_ARTICLE." WHERE catid=\"".$a_Ad['catid']."\"
AND bb_region_id IN (".get_cats($reg_id, RegTable('Regions','category')).") ");
shuffle($mass); //Это перемешает массив.
//Потом выбираем ID
$tmp = array_slice($mass, 0, 3);
//Теперь через запятую их складываем
$zap=implode(',',$tmp);
$ql = 'SELECT link_id AS o_id,'.$TITLE_FIELD.' AS o_title, images AS o_images, bb_descr AS o_descr FROM '.TBL_AD.
' WHERE link_id IN ('.$zap.')'.
FilterSQL().' ORDER BY link_id DESC LIMIT 3';
Мои ошибки:
1. one_col_array - запутался с методом
2. $tmp = array_slice($mass, 0, 3); а не $tmp[]=$mass[$i]['link_id'];
Аргон-17,
благодарю!
Что-то не вижу
http://www.ikeafans.com/forums/clientscript/spc.js
Так, таким макаром можно скрыть принадлежность нескольких проектов одному человеку.
А что, в старых синхронных кода id издателя не публикуется?
А Вы откройте html-код и увидите, что там нет никакого намека на то, что подключен адсенс.
Вопрос, что это за метод включения кода адсенса http://www.ikeafans.com/forums/bedroom-closet/60537-ikea-pax-wardrobe-broken-back-panel.html
Куда исчез идентификатор в адсенсе?
Разве это не противоречит их правилам?
Вот так работает:
$mass = $db->one_col_array("SELECT link_id FROM ".TBL_ARTICLE." WHERE catid=\"".$a_Ad['catid']."\"
AND bb_region_id IN (".get_cats($reg_id, RegTable('Regions','category')).") ");
shuffle($mass); //Это перемешает массив.
//Потом выбираем ID
$tmp = array_slice($mass, 0, 3);
//Теперь через запятую их складываем
$zap=implode(',',$tmp);
$ql = 'SELECT link_id AS o_id,'.$TITLE_FIELD.' AS o_title, images AS o_images, bb_descr AS o_descr FROM '.TBL_AD.
' WHERE link_id IN ('.$zap.')'.
FilterSQL().' ORDER BY link_id DESC LIMIT 3';
Мои ошибки:
1. one_col_array - запутался с методом
2. $tmp = array_slice($mass, 0, 3); а не $tmp[]=$mass[$i]['link_id'];
Тема исчерпана!
array(1) { ["link_id"]=> string(2) "34" }
Если что поменяйте:
$tmp[]=$mass[$i]['link_id'];
на
$tmp[]=$mass['link_id'][$i];
print_r($tmp); die;
Array ( [0] => [1] => [2] => [3] => )
BasePelleta добавил 25.08.2011 в 10:37
Вроде бы вывод print_r($mass); говорит, что запрос правильный?
Теперь вместо:
$tmp[]=$mass[$i];
пишите:
$tmp[]=$mass[$i]['link_id'];
Сделал
print_r($tmp); die; вывел Array ( [0] => 3 [1] => [2] => [3] => )
Зачем тут появился count(*)?!
может сначала нужно данные ID считать
array(1) { ["link_id"]=> string(2) "34" }
var_dump($mass) сделайте сначала.
Ещё наверное проверку нужно сделать, если в $mass <$i то break;
array(1) { ["count(*)"]=> string(3) "339" }
BasePelleta, может сначала нужно данные ID считать, а уже потом перемешивать. Как думаете?
+ замените $tmp=$mass[$i]; на $tmp[]=$mass[$i];
Вы это имели ввиду ?
var_dump($tmp); выводит array(4) { [0]=> string(3) "339" [1]=> NULL [2]=> NULL [3]=> NULL }
var_dump($zap); выводит string(6) "339,,,"
Вы путаете array_shift с shuffle
var_dump($zap); выводит string(5) "34,,,"