Сведения о вопросе

LARVION

14:39, 13th August, 2020

Теги

PHP    

Сортировка в PHP?

Просмотров: 336   Ответов: 6

Есть такой код:

$array = array();

for ($count = 1; (($head = mysql_fetch_array($output1)) and ($text = mysql_fetch_array($output2))); ++$count) {

	$array[$count] = $head[0];
	printf($array[$count]);

	echo "<br />";
	echo "<br />";

	$array[$count] = $text[0];
	printf($array[$count]);

	echo "<br />";
	echo "<br />";
}
return $array;



Он выводит что-то типа:

First title

Fitst text

Second title

Second text

Third title

Third text





Нужно отсортировать в обратном порядке:

Third title

Third text

Second title

Second text

First title

Fitst text





Знаю о функции array_reverse(), но куда не пытался её здесь всунуть, не отсортировывает.



  Сведения об ответе

baggs

17:13, 28th August, 2020

Когда получаешь из БД:

SELECT * FROM table_name WHERE (выражение) [order by field_name [desc][asc]]

ORDER — там и сортируешь по возрастанию или по убыванию (ASC или DESC)

В твоем случае так понимаю получение $output1 и $output2 так делаешь…


  Сведения об ответе

park

21:06, 1st October, 2020

в SQL не судьба все это засунуть? Проще же


  Сведения об ответе

pumpa

21:05, 23rd August, 2020

Это всё конечно не совсем идеологически правильно, но Вам нужно заменить последнюю строку на:
return array_reverse($array);


  Сведения об ответе

lats

21:06, 1st October, 2020

Тогда сразу еще вопрос задам. У каждой статьи должен быть id. Допустим, к первой статье я укажу id=1. Как мне брать из базы максимальный элемент id, повышать его на единицу и присваивать новой статье? Сортировку буду выполнять по id, а для этого нужно, чтобы каждая последующая статья была с id на один больше

Для это служит тип поля autoincrement в БД


  Сведения об ответе

PROGA

01:11, 3rd August, 2020

а можно делать for не инкрементным ($i++), а декрементным ($i--)
пример:
for($i=20,$>=0,$i--){
// ololo
}


  Сведения об ответе

P_S_S

12:20, 27th August, 2020

Покажите запросы к БД, которые там делаются. Там наверняка ведь и одним запросом обойтись можно…


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться