Как вернуть значение массива (из PHP), используя запрос MySql - PullRequest
0 голосов
/ 28 апреля 2020

Итак, у меня есть массив PHP:

<?php $array = ['small','medium', 'big']; ?>

У меня есть таблица (size_table) с id и size_id (size_id = 0, означает «маленький», size_id = 1, означает «средний» 'и т. д.).

Мне нужно написать запрос SELECT, который возвращает все записи, но использует массив значений $:

id | size
1  | small -> the size_id in the table is 0
2  | big -> the size_id in the table is 2
3  | medium -> the size_id in the table is 1

Итак, это будет что-то вроде:

SELECT id, ($array['size_id']) AS smart FROM size_table;

Конечно, это не работает, это просто для объяснения моей цели.

Кстати, у меня может быть много size_id. Их может быть 20 или даже 50.

1 Ответ

0 голосов
/ 28 апреля 2020

Как предложил @CBroe, я использовал:

"SELECT id, (ELT(`size_id` + 1 '" . implode("','", $array) . "') AS size FROM size_table;"

Это код MySql и PHP. Я использую + 1, потому что PHP массивы начинаются с индекса 0, а ELT начинается с 1. А кавычки ('') заключаются в том, что вам нужно передать строку вроде:

ELT(`field`, 'first option', 'second option', 'third option')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...