Моя таблица Mysql названа Компания ниже
id--username---countries
1---taner--------1,2,3
2---tom----------2,3
3---Jack---------1,3
4---Jenny--------1
У меня есть форма, и я отправляю страну из нее.
<select name="country" >
<option value="1" >Turkey</option>
<option value="2" >England</option>
<option value="3" >USA</option>
</select>
И когда я отправляю форму и получаю значение POST страны.
$country=$_POST['country'];
SELECT * FROM company where country='$country';
..............................
Моя цель — получить этот запрос и перечислить данные, относящиеся к почтовому значению, если Англия выбрала taner и tom, должны быть перечислены, потому что значение параметра England равно 2, и в моей базе данных только tom и taner содержат значение этой страны.
Итак, что вы посоветуете?
Используйте MySQL FIND_IN_SET()
функция.
Вот ссылка:
Итак, ваш запрос должен быть таким:
$query = "SELECT * FROM company WHERE FIND_IN_SET('$country', country)";
Ты можешь использовать Сопоставление с образцом джокер оператор, чтобы сделать это
SELECT * FROM company where country LIKE '%$country%';
Надеюсь эта работа. Но в соответствии с VR46 не рекомендуется использовать значения в столбце через запятую.
Вы можете использовать LIKE способность mysql:
SELECT * FROM company WHERE country LIKE '%$country%';