SELECT * FROM `otzovik_table` WHERE `rating` <= 3 ORDER BY `rating` ASC
Запрос указанный выше работает некорректно, но если я ASC меняю на DESC все нормально.
Точнее в самом SQL она работает, а в PHP нет.
$query = "SELECT * FROM `otzovik_table` WHERE `rating` <= 4 ORDER BY `rating` ASC";
В БД есть 3 записи которые < или = 4, но выводится только самая меньшая и все.
Весь PHP код
<?php
include "connect.php";
$sort_hight_low = $_POST['rating_sort'];
if ($sort_hight_low == "") {
// $sort_hight_low = 1;
}
$sort_type = $_POST['sort_type'];
$only_or = $_POST['only_or'];
echo "У/В - " .$sort_hight_low . " / ";
echo "ТОЛЬКО - ".$sort_type . " / ";
echo "НОМЕР - ".$only_or . " / ";
if ($sort_hight_low == 1) {
if ($sort_type == 1) {
$query = "SELECT * FROM `otzovik_table` WHERE `rating` = '$only_or'";
$result = mysqli_query($link, $query);
}
else {
$query = "SELECT * FROM `otzovik_table` WHERE `rating` <= '$only_or' ORDER BY `otzovik_table`.`rating` DESC";
$result = mysqli_query($link, $query);
}
}
if ($sort_hight_low == 2) {
if ($sort_type == 1) {
$query = "SELECT * FROM `otzovik_table` WHERE `rating` = '$only_or'";
$result = mysqli_query($link, $query);
}
else {
$query = "SELECT * FROM `otzovik_table` WHERE `rating` <= '$only_or' ORDER BY `rating` ASC ";
$result = mysqli_query($link, $query);
}
}
$query = "SELECT * FROM `otzovik_table` WHERE `rating` < 4 ORDER BY `rating` ASC";
$result = mysqli_query($link, $query);
if ($result) {
$rows = mysqli_num_rows($result);
for ($i=0; $i < $rows; ++$i) {
$row = mysqli_fetch_array($result);
?>
<div class="out_block">
<?php
echo "Имя: ";
echo $row['name'];
echo "<br>";
echo "Почта: ";
echo $row['email'];
echo "<br>";
echo "Сообщение: ";
echo $row['message'];
?>
<div class="rating_out">
<?php
for ($i=0; $i < $row['rating']; ++$i) {
?>
<div class="stars">
</div>
<?php
}
for ($i=0; $i < 5 - $row['rating']; ++$i) {
?>
<div class="unstars">
</div>
<?php
}
?>
</div>
<?php
echo "Дата отзыва: ";
echo $row['date'];
?>
</div>
<?php
}
}
?>