Не работает ORDER BY + Дубли
Есть две таблицы:
Таблица prod с полями: id, name, reiting, cat
Таблица purchase с полями: type, status, data, cat
Пытаюсь получить данные из двух таблиц за один запрос и отсортировать по убыванию поля reiting:
function get_data($p1, $p2, $p3) {
global $mysqliRead;
$s = $mysqliRead->prepare('SELECT prod.name, prod.reiting, purchase.type FROM prod, purchase WHERE prod.cat=? AND purchase.cat=? AND purchase.status=? ORDER BY prod.reiting DESC');
$s->bind_param('iii', $p1, $p2, $p3);
$s->execute();
$r = $s->get_result();
$a = $r->fetch_all(MYSQLI_ASSOC);
$r->free_result();
$s->close();
return $a;
}
$get_data = get_data($cat, $cat, $status);
foreach($get_data as $k) {
echo $k['name'];
}
// Вывод
бананы
бананы
кокосы
кокосы
манго
манго
В итоге сталкиваюсь с двумя проблемами - это дублирование вывода в foreach (бананы, бананы, кокосы, кокосы, манго, манго) и не работает сортирвка ORDER BY reiting.
Как быть в данной ситуации и добиться недублированного вывода и сортировки???