Если вы хотите использовать только SQL-запрос, вы можете сказать
SELECT DISTINCT type1 FROM products ORDER BY type1
Альтернативой является
SELECT type1, max(1) FROM products GROUP BY type1
Недостатком является то, что вам нужно выполнить 19 запросов, если вы хотитечтобы получить разные значения для всех ваших столбцов.
Преимущество состоит в том, что если вам нужны разные значения для одного столбца, это намного проще.
Вы можете объединить 19 запросов в for
цикл, возможно:
for($i=1;$i<20;$i++) {
$sql = "SELECT DISTINCT type".$i." FROM products ORDER BY type1";
// Run the sql query to get the data, then manipulate it as you wish.
}