Доброго времени суток. Проблема такая: делаю выборку из бд (по id) и мне выводит в таком порядке строки: 9 8 7 6 5 а мне нужно наоборот, т.е. 5 6 7 8 9 Как это возможно сделать? Вот код: PHP: $connection = mysqli_connect('localhost', 'dbuser', 'dbpass', 'dbname') or die(mysqli_error()); $query = "SELECT * FROM tablename ORDER BY id DESC LIMIT 5"; $result = mysqli_query($connection, $query) or die(mysqli_error()); while ( $row = mysqli_fetch_assoc($result) ){ echo ' <tr> <td>'.$row['id'].'</td> <td>'.$row['date'].'</td> <td>'.$row['name'].'</td> </tr>'; } находил функцию array_reverse(), но не понимаю как ее применить (и возможно ли в моем случае). Помогите новичку =)
Понял. Тогда оставь старый запрос. Выбранные кортежи сохрани в массив, разверни его, и потом уже данные из него выводи.
@san4ez, как пробовал? Надо накопить сначала в массиве записи PHP: while($row=mysqli_fetch_assoc($result)){ $arr[]=$row; } А потом применить array_reverse к $arr
я с массивами не умею работать, мне сейчас проще в переменную записать последний id-5 и в запросе к бд указать что б не выводил строки меньше этой, тогда без DESC будет работать)
Ну как бы работать с массивами надо научиться до того как начинаешь работать с СУБД. Это вообще базис. Один из типов данных в языке.
PHP: $connection = mysqli_connect('localhost', 'dbuser', 'dbpass', 'dbname') or die(mysqli_error()); $query = "SELECT * FROM tablename ORDER BY id DESC LIMIT 5"; $result = mysqli_query($connection, $query) or die(mysqli_error()); while ( $row = mysqli_fetch_assoc($result) ){ $arr[]=$row; $q = array_reverse($arr); echo ' <tr> <td>'.$q['id'].'</td> <td>'.$q['date'].'</td> <td>'.$q['name'].'</td> </tr>'; }
Тебе неплохо бы алгоритмизацию программирования подтянуть. PHP: $arr = []; while($row = mysqli_fetch_assoc($result){ $arr[] = $row; } $arr = array_reverse($arr) foreach($arr as $row) { echo ''; }
Логично. Я опечатался. Баг для меня известный - клавиатура залита чем-то сладким. Но твоя проблема не в том, что я опечатался, а в том, что ты не знаком с основами. Не только с массивами, но и с синтаксисом языка. Просто добавь ; в конец строки разворота массива.
блин... удалил случайно сообщение, нашел уже ошибку, все работает) спасибо, буду разбираться и учить)