[Ответить в тред] Ответить в тред

16/08/16 - Запущен Двач Трекер
01/08/16 - Вернули возможность создавать юзердоски
09/07/16 - Новое API для капчи - внимание разработчикам приложений


Новые доски: /obr/ - Offline Battle Rap • /hv/ - Халява в интернете • /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 27 | 1 | 9
Назад Вниз Каталог Обновить

Аноним 10/09/16 Суб 19:08:39  135899095  
14735237201500.png (70Кб, 500x270)
Необходимо выдать while в обратном порядке.

Пишу по минимуму, думаю все понятно:

Запрос в БД:

$mess = mysqli_query($db, "SELECT * FROM `messages` ORDER BY `id` DESC LIMIT 5");

И вывод:

while($mes=mysqli_fetch_assoc($mess)) {
echo $mes['message'].'<br>';
}

Получается выбирает последних 5 значений, но последнее вверху, а нужно дабы было внизу. Если меняю DESC на ASC то последнее внизу, но выбирает 5 сообщение не с конца, а с начала.

Как грамотно реализовать задуманное?
Аноним 10/09/16 Суб 19:11:38  135899283
>>135899095 (OP)
for для слабаков?
Аноним 10/09/16 Суб 19:18:41  135899726
>>135899283
как его использовать в данном примере? да я не умею им пользоваться, можешь обоссать
Аноним 10/09/16 Суб 19:19:01  135899752
>>135899095 (OP)
Подскажите литературу для учёбы по пхп
Аноним 10/09/16 Суб 19:24:59  135900193
Бля, ты такой дебил, что даже вопрос норм сформулировать не можешь. Низ верх бля, в курсе что в sql нет таких понятий, никто не гаранирует порядок записей по умолчанию. Какие тебе записи из таблицы нужны? Про вложенные запросы не слышал? Если нет, то само время погуглить, из твоего невнятного вопрса я понял, что они тебе нужны. Еше есть функции ранжирования в mssql , в mysql не уверен. Конкретизируй кароч, тебе первые записи что-ли нужны?
Аноним 10/09/16 Суб 19:37:55  135900946
>>135900193
не выебуйся. Ты понял о чем речь. Не хочешь отвечать - иди нахуй, знаток хуев
Аноним 10/09/16 Суб 19:41:32  135901179
>>135899726
Почитай лучше что-нибудь по c++. А по php советую курсы специалиста скачать с торента, смотришь первые три части, потом практика, только не увлекайся гавносайтостроеннием и гавно cms. В процессе практики читай php.net это мануал, это источник для всех книг, читай там комменты. Как закончишь модешь взятся за какой-нибудь фреймворк и почитать мэта зандстру, далше сам решай куда двигаться. Это если кратко
Аноним 10/09/16 Суб 19:44:16  135901355
>>135900946
В том то и дело, что не понал. У тебя таблица предположим идет по возрастанию id, какие 5 записей тебе нужны?Сразу скажу, что такие вопросы на уровне бд, а не языка
Аноним 10/09/16 Суб 19:44:43  135901384
>>135901179
Ты когда к врачу приходишь ты ждешь ответа болен ты или нет и если да то чем? Или ждешь, что тебе будут советовать в какой мед вуз поступить и какую литературу почитать?
Аноним 10/09/16 Суб 19:47:07  135901527
>>135901355
в ОП посте это все написано
Аноним 10/09/16 Суб 19:48:39  135901614
>>135901384
Не туда ответил, дебилушка. Жду норм формулировку вопроса
Аноним 10/09/16 Суб 19:50:57  135901766
>>135901527
Ладно, ща с кома отвечуу, деебилушка
Аноним 10/09/16 Суб 19:55:39  135902077
>>135899752
б а м п
Аноним 10/09/16 Суб 19:56:48  135902147
>>135901614
Так напиши что тебе не понятно?

Вот ты написал:
>какие 5 записей тебе нужны?

В ОП посте я написал:
>...выбирает 5 сообщение не с конца, а с начала
Соответственно нужно, чтобы выбирало наоборот с конца.

Но вопрос не в этом, ибо решается это написанием DESC, о чем я тоже в ОП посте указал

Итак, я выбираю 5 последних записей в таблице БД и вывожу их вайлом, после каждой записи ставлю <br> дабы каждая была с новой строки - О ЧЕМ НАПИСАНО В ОП ПОСТЕ. Соответсвенно получается список записей, что тоже очевидно из ОП посте. Раз уж получается список, то значит последняя из 5 записей выбраных из БД будет либо вверху либо в низу этого списка, я написал в ОП посте, что она вверху, а все остальыне ниже - необходимо чтобы было наоборот, что и спросил я в ОП посте.
Аноним 10/09/16 Суб 19:58:25  135902244
>>135901766
>>135901527
SELECT FROM (SELECT FROM `messages` AS innerT ORDER BY `id` DESC LIMIT 5) AS outerT ORDER BY outerT.id ASC

Это на уровне БД.
На уровне языка с твои запросом (пишу для php 5.3, думаю у тебя это гавно)

$resultArr = array();
while($mes=mysqli_fetch_assoc($mess)) {
$resultArr[] = $mes;
}
$resultArr = array_reverse($resultArr);

foreach($resultArr as $msg){
echo $msg['message'].'<br>';
}

Пробуй
Аноним 10/09/16 Суб 20:03:13  135902551
>>135902147
Бля, что значит наобарот.
Дам совет, когда формулируешь вопрос, пиши что тебе нужно, а не что у тебя есть и что надо это, но наобарот.

Надо было так. "мне нужно вывести 5 последних записей из таблица, отсортированных по возрастанию id". ВСЕ!
Аноним 10/09/16 Суб 20:05:12  135902697
>>135902244
Надо взять одно из этих решений. Если оба возмешь, то будет как сейчас у тебя. Я бы на уровне базы юзал.
Аноним 10/09/16 Суб 20:07:48  135902877
>>135902147
И впредь пиши в pr или какой-нибудь totser или stackoverflow . Эти сайты созданы для таких вопросов
Аноним 10/09/16 Суб 20:10:06  135903033
>>135902244
уэе нагуглил array_reverse
хз зачем ты проделал чтото непонятное с запросом к БД. Да работает так, но мн екажется это какое-то всратое-костыльное решение

>>135902551
Я понятно все написал, о чем свидетельствует то, что ты итак все понял
Аноним 10/09/16 Суб 20:14:00  135903309
>>135903033
>>135902244
Все понял. Да работает, спс
Аноним 10/09/16 Суб 20:16:35  135903487
>>135903033
Это называется вложенный запрос.
Отнюдь, решать вопросы на уровне БД чаще всего (но не всегда конечно) правильней, чем на уровне языка, это будет быстрее работать. В твоем случае без разницы думаю.
Аноним 10/09/16 Суб 20:17:51  135903572
Последние 5 записей из таблицы? Нужно привязываться к дате, по-хорошему, но пусть будет так:

SELECT
FROM messages
LIMIT 5
OFFSET (SELECT count(
) - 5 FROM messages); - вариант для постгреса. но есть вероятность ошибки при количестве записей меньше 5
Аноним 10/09/16 Суб 20:18:56  135903627
>>135899095 (OP)
Сколько в среднем в месяц зарабатываешь?
Аноним 10/09/16 Суб 20:21:52  135903815
>>135903627
Думаю он только учится, раз такие вопросы задает или где-то что-то попросили поменять, типа наш-то компьютерщик!
Аноним 10/09/16 Суб 20:21:59  135903825
В вашей говнопыхе do while не завезли?
Аноним 10/09/16 Суб 20:24:50  135903982
>>135903815
>Думаю он только учится
this
Аноним 10/09/16 Суб 20:27:34  135904139
>>135903825
Завезли дебил, только он здесь не нужен. А ты видно не понимаешь чем отличается do while от while или вообще не читал ОП пост, съеби и не позорься
Аноним 10/09/16 Суб 20:32:40  135904420
>>135902877
и все таки за компом

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 27 | 1 | 9
Назад Вверх Каталог Обновить

Топ тредов
Избранное