Вы не зашли.
Главная » PHP » Поиск в массиве
#1. DarkDaNTe Off (11)
Участник
2009.10.31 21:09
Например у нас есть массив $clicks. Как проверить есть ли содержимое переменной, допустим, $var в нём?
#2. AND Off (11)
Участник
2009.10.31 21:09
Код:
if(in_array($var, $clicks)) {
echo 'Значение "'.$var.'" присутствует в массиве';
}
#3. Gemorroj Off (107)
Administrator
2009.10.31 21:09
еще isset
#4. DarkDaNTe Off (11)
Участник
2009.11.01 16:04
спс. А я писал if(in_array($var, $clicks) == false)
#5. DarkDaNTe Off (11)
Участник
2009.11.01 17:05
Я вот ничего не пойму. По моему все написано правильно.
Массив $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 секунд:
В первом массиве - ИД пользователей, во втором - ИД их площадок
#6. Gemorroj Off (107)
Administrator
2009.11.01 18:06
Код:
$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 'НЕТ';
}
}
#7. DarkDaNTe Off (11)
Участник
2009.11.01 20:08
А что значит этот запрос?
Код:
$q = mysql_query('SELECT * FROM `plosh` WHERE `id` IN (' . rtrim($in, ',') . ')');
Добавлено спустя   3 минуты  39 секунд:
Что-то как-то оно не так работает)
Добавлено спустя   5 минут  8 секунд:
Меня вот это:
Код:
if ($val != $users['id'])
смущает. Какое содержимое $users['id']?
#8. Gemorroj Off (107)
Administrator
2009.11.01 20:08
Без понятия, брал на основе твоего
`id`!='.$user['id']
А запрос значит что долбить запросы в цикле большой грех. Собери все нужные айдишники вместе и отправь 1 запрос в БД.
#9. DarkDaNTe Off (11)
Участник
2009.11.01 21:09
ааа) Там просто users, а у меня user, понял. Ошибочко). Понял
#10. DarkDaNTe Off (11)
Участник
2009.11.01 21:09
Короче это все дело должно выводить ссылку или не выводить в зависимости от того кликали ли по ней.
При клике в базу записывается 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'];}?>
И теперь нам надо все проверить. Но блин, оно не хочет проверять... Все ли правильно делаю?
#11. Gemorroj Off (107)
Administrator
2009.11.01 21:09
а в plosh какие данные? подозреваю что тут нужен SQL подзапрос, а не php код.
#12. DarkDaNTe Off (11)
Участник
2009.11.01 22:10
В plosh такие данные как id юзера, к которому относится площадка, адрес площадки, название ссылки, инфа о модерации площадки, о браузерах, которым доступна.
#13. Gemorroj Off (107)
Administrator
2009.11.01 22:10
а откуда берутся данные о том, что этот пользователь уже кликнул по ссылке?
#14. DarkDaNTe Off (11)
Участник
2009.11.01 23:11
а в посте номер 10 указаны два массива с данными и описано по какому принципу они заданы
Добавлено спустя    2 секунды:
а в посте номер 10 указаны два массива с данными и описано по какому принципу они заданы
#15. Gemorroj Off (107)
Administrator
2009.11.02 10:10
хоть застрелись, не понимаю я структубы БД твоей. выгрузи дамп структуры с описаниме полей.
в любом случае, тебе нужно минимум PHP и максимум SQL в данном случае.
#16. DarkDaNTe Off (11)
Участник
2009.11.02 10:10
ок. да я сам зачудил базу такую, что ппц
#17. DarkDaNTe Off (11)
Участник
2009.11.02 12:12
Кинул в личку дамп
#18. DarkDaNTe Off (11)
Участник
2009.11.02 20:08
Gemorroj, ау))
#19. Gemorroj Off (107)
Administrator
2009.11.02 21:09
позже. оч занят. с тоей бд нужно разбираться.
#20. DarkDaNTe Off (11)
Участник
2009.11.02 21:09
Хорошоsmile Все равно спс
#21. DarkDaNTe Off (11)
Участник
2009.11.03 14:02
Я в дампе все раскомментил
#22. Gemorroj Off (107)
Administrator
2009.11.03 21:09
посмотрел, вобщем могу тебе только посоветовать полностью изменить структуру БД.
Еще почитай об индексах, типах данных, нормализации/денормализации структуры.
У тебя даже нету ID площадок.
Добавлено спустя   1 минуту  3 секунды:
P.S. SQL стандарт поддерживает добавление комментариев прямо в таблицы. Пользуйся ими.
#23. DarkDaNTe Off (11)
Участник
2009.11.04 09:09
Да.. Вчера насчет этого поговорил с морганом. короче решил моддить другой клуб. т.к в этом время генерации при 15 юзерах ~2сек. а что при 1000 будет? и коды встречаются такие, как я показывал. запросы в запросах в циклах
Страниц: 1 2 3 Все
Главная
WEB
PunBB Mod v0.6.2
0.022 s