Как правильно отобразить несколько параметров в URL с одинаковым именем GET для PHP / MySQL - PullRequest
0 голосов
/ 16 февраля 2019

Мои параметры имеют разные имена (tags, tags2, tags3), но один и тот же метод GET или, другими словами, одно и то же имя столбца (tags) в базе данных MySQL.

Вот код:

$tags = $_GET['tags'];
$tags2 = $_GET['tags'];
$tags3 = $_GET['tags'];

$fetch = mysqli_query($conn, "SELECT * FROM users JOIN user_images ON users.username = user_images.username WHERE tags = '$tags' AND tags = '$tags2' AND tags = '$tags3' ORDER BY users.id DESC");

В основном я пытаюсь отобразить все изображения с 3 различными тегами в таблицах user_images.

Вот мой URLвыглядит, но отображает только один тег, а не все 3:

https://www.example.com/app/user-tags.php?tags=aesthetic&tags2=food&tags3=dogs

Первый параметр работает, но не все из них.Кто-нибудь может мне помочь, если я ошибся?

Я думал о том, чтобы сделать что-то подобное, имея в своем запросе tags = aesthetic,food,dogs.Но проблема в том, что я думаю, что результат будет выглядеть так: «Найти все изображения с тегами эстетических fooddogs» вместо тегов с эстетическими, едой и собаками.

1 Ответ

0 голосов
/ 16 февраля 2019

Звучит так, будто вы хотите заглянуть в столбец tags в своей таблице и найти любые совпадения для значений, переданных в URL.Если вы хотите найти ЛЮБОЕ из значений тега, измените использование AND на OR.

$tags  = $_GET['tags'];
$tags2 = $_GET['tags2'];
$tags3 = $_GET['tags3'];

$fetch = mysqli_query($conn, "SELECT * FROM users
JOIN user_images ON users.username = user_images.username
WHERE tags LIKE '%" . $tags  . "%' OR
      tags LIKE '%" . $tags2 . "%' OR
      tags LIKE '%" . $tags3 . "%'
ORDER BY users.id DESC")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...