@Panzers

Вывод данных из базы с одинаковыми ID?

Всем привет!
Есть таблица примерно такого содержания:
ID - COLOR
1A - Yellow
1B - Black
1C - Red
1D - Brown


И есть вот такой код PHP:
$pin1 = '1A';
$pin2 = '1B';
$pin3 = '1C';
$pin4 = '1D';

$sql = "SELECT `color` FROM `pin` WHERE `id` in ('$pin1', '$pin2', '$pin3', '$pin4')";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
	
    while($row = $result->fetch_assoc()) {
        print($row["color"]."");
    }
}
else {
    echo "0 results";
}


Переменные $pin1, 2, 3, 4 могут быть как и с разными значениями, так и все с одинаковыми. Когда в переменных значения ID не повторяются, то выводится все 4 цвета, но если допустим из 4 повторяются 2, то выводится из этих двух только одна.
Допустим у нас все переменные с одним значением "1A", то на экране выводится только одно слово "Yellow".
Как сделать, чтобы выводилось все 4 значения, пусть даже если они одинаковы?
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Делать 4 разных запроса, MySQL не сможет их оптимизировать сокращением дубликатов.
Можно что-то типа такого:
SELECT (SELECT color FROM  pin WHERE id='$pin1') AS pin1, (SELECT color FROM  pin WHERE id='$pin2') AS pin2, (SELECT color FROM  pin WHERE id='$pin3') AS pin3, (SELECT color FROM  pin WHERE id='$pin4') AS pin4
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы