Вы не зашли.
Например у нас есть массив $clicks. Как проверить есть ли содержимое переменной, допустим, $var в нём?
#2.
AND
Off
(11)
Участник
2009.10.31 21:09
Код:
if(in_array($var, $clicks)) { |
echo 'Значение "'.$var.'" присутствует в массиве'; |
} |
спс. А я писал if(in_array($var, $clicks) == false)
Я вот ничего не пойму. По моему все написано правильно.
Массив $clicks_arr1:
Код:
Array |
( |
[0] => 2 |
[1] => 5 |
) |
Массив $clicks_arr2:
Код:
Array |
( |
[0] => 2 |
[1] => 1 |
) |
Код:
Код:
span style="color: #0000BB"><?phpforeach($users as $val){$query = mysql_query('SELECT * FROM `plosh` WHERE `id`='.$val.' AND `id`!='.$user['id'].'');while($ar = mysql_fetch_assoc($query)){if(!in_array($ar['id'], $clicks_arr1) and !in_array($ar['nom'], $clicks_arr2)){echo 'ЕСТЬ';}}else{echo 'НЕТ';}}?> |
Добавлено спустя 2 минуты 10 секунд: В первом массиве - ИД пользователей, во втором - ИД их площадок
Код:
$in = ''; |
foreach ($users as $val) { |
if ($val != $users['id']) { |
$in .= $val . ','; |
} |
} |
|
$q = mysql_query('SELECT * FROM `plosh` WHERE `id` IN (' . rtrim($in, ',') . ')'); |
|
while ($arr = mysql_fetch_assoc($q)) { |
if (isset($clicks_arr1[$arr['id']]) || isset($clicks_arr2[$arr['nom']])) { |
echo 'ЕСТЬ'; |
} else { |
echo 'НЕТ'; |
} |
} |
А что значит этот запрос?
Код:
$q = mysql_query('SELECT * FROM `plosh` WHERE `id` IN (' . rtrim($in, ',') . ')'); |
Добавлено спустя 3 минуты 39 секунд: Что-то как-то оно не так работает)
Добавлено спустя 5 минут 8 секунд: Меня вот это:
Код:
if ($val != $users['id']) |
смущает. Какое содержимое $users['id']?
Без понятия, брал на основе твоего
`id`!='.$user['id']
А запрос значит что долбить запросы в цикле большой грех. Собери все нужные айдишники вместе и отправь 1 запрос в БД.
ааа) Там просто users, а у меня user, понял. Ошибочко). Понял
Короче это все дело должно выводить ссылку или не выводить в зависимости от того кликали ли по ней.
При клике в базу записывается ID того юзера, по чьей ссылке ты нажимал и ID его площадки.
Извлекаем все наши клики:
Код:
$res1 = mysql_query("SELECT * FROM `clicks` WHERE `who`='$user[id]'"); |
Потом забиваем все это в массивы.
Код:
span style="color: #0000BB"><?phpwhile($click = mysql_fetch_assoc($res1)){$clicks_arr1[] = $click['whom'];$clicks_arr2[] = $click['pl'];}?> |
И теперь нам надо все проверить. Но блин, оно не хочет проверять... Все ли правильно делаю?
а в plosh какие данные? подозреваю что тут нужен SQL подзапрос, а не php код.
В plosh такие данные как id юзера, к которому относится площадка, адрес площадки, название ссылки, инфа о модерации площадки, о браузерах, которым доступна.
а откуда берутся данные о том, что этот пользователь уже кликнул по ссылке?
а в посте номер 10 указаны два массива с данными и описано по какому принципу они заданы
Добавлено спустя 2 секунды: а в посте номер 10 указаны два массива с данными и описано по какому принципу они заданы
хоть застрелись, не понимаю я структубы БД твоей. выгрузи дамп структуры с описаниме полей.
в любом случае, тебе нужно минимум PHP и максимум SQL в данном случае.
ок. да я сам зачудил базу такую, что ппц
позже. оч занят. с тоей бд нужно разбираться.
Хорошо
Все равно спс
Я в дампе все раскомментил
посмотрел, вобщем могу тебе только посоветовать полностью изменить структуру БД.
Еще почитай об индексах, типах данных, нормализации/денормализации структуры.
У тебя даже нету ID площадок.
Добавлено спустя 1 минуту 3 секунды: P.S. SQL стандарт поддерживает добавление комментариев прямо в таблицы. Пользуйся ими.
Да.. Вчера насчет этого поговорил с морганом. короче решил моддить другой клуб. т.к в этом время генерации при 15 юзерах ~2сек. а что при 1000 будет? и коды встречаются такие, как я показывал. запросы в запросах в циклах