Я пытаюсь получить значения из моей таблицы usermeta в зависимости от определенной провансальности. Я живу в Нидерландах. Здесь у нас 12 проспектов, и я хочу выбрать всех пользователей, которые живут в определенной провинции. Поэтому я добавил поле в пользовательскую базу данных с именем «provincies». Кнопка со значением <a href="results.php?provincie=provencename"
говорит мне, кто должен выбрать, исходя из значения из URL-адреса.PHP/MySql поиск одного значения в массиве
Это не сложно. Проблема в том, что пользователи могут иметь несколько профайлов.
Так поля meta_key provincie
удерживайте meta_value friesland','groningen','drenthe'
Так что теперь мне нужно искать, если добавленная стоимость от URL находится в meta_value базы данных.
$provincie_array = "friesland','groningen','drenthe";
$query = "SELECT *
FROM $wpdb->usermeta
WHERE meta_key='provincie'
AND meta_value IN ('".$provincie_array."')";
Я думаю, что это правильно. Однако PHP и MySql просят различать.
Может ли кто-нибудь увидеть, что мне здесь не хватает?
-EDIT-
$provincie = $_GET['provincie'];
global $wpdb;
//$query = "SELECT * FROM $wpdb->usermeta WHERE meta_key='provincie' AND meta_value IN ('".$provincie_array."')";
$provincie_array = array('friesland','groningen','drenthe','noordholland','flevoland','overijssel','zuidholland','utrecht','gelderland','zeeland','noordbrabant','limburg');
$provincie_check = '';
foreach ($provincie_array as $value) {
$provincie_check[]="`meta_value` LIKE '%[{$value}]%'";
}
$query = "SELECT *
FROM $wpdb->usermeta
WHERE meta_key='provincie'
AND (".implode(' OR ',$provincie_check).")";
$personen = $wpdb->get_results($query);
Последнее опаляться цитата из слова Дренте, в $ provincie_array не должно быть там. –
Истина, опечатка, потому что список длиннее. Однако проблема все еще существует :-) – Interactive
@MySQLRockstar Начальные и конечные кавычки находятся в функции 'IN' – Interactive