Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: сортировка массива из базы
 
 автор: ronin   (13.11.2007 в 18:42)   письмо автору
 
 

Помогите отсортировать массив по полю $age

array('name' => $name, 'age' => $age)

   
 
 автор: ddhvvn   (13.11.2007 в 19:08)   письмо автору
 
   для: ronin   (13.11.2007 в 18:42)
 

???
Что тут сортировать? Тут всего 2 значения....

   
 
 автор: ronin   (13.11.2007 в 19:16)   письмо автору
 
   для: ddhvvn   (13.11.2007 в 19:08)
 

данные берутся из базы

$result = mysql_query("SELECT news_id, DATE_FORMAT(issuedate,\"%d-%m-%Y\") As fissuedate ,content FROM books "); 
 while($postrow = mysql_fetch_array($result) )
     {

       $news_ar[] = $postrow;
    }
array_reverse($news_ar);
foreach ($news_ar as $key)
{
 echo (array_multisort_key($key, $postrow[news_id], SORT_ASC))."<br>";
                    echo    $key['fissuedate']."<br>";
}

этот код нерабочий, а сделать чтоб работал?

   
 
 автор: ronin   (13.11.2007 в 20:20)   письмо автору
 
   для: ronin   (13.11.2007 в 19:16)
 


$result = mysql_query("SELECT news_id, DATE_FORMAT(issuedate,\"%d-%m-%Y\") As fissuedate  FROM books ");

       while($postrow = mysql_fetch_array($result) )
     {

       $news_ar[] = $postrow;
    }
ksort($news_ar);
foreach ($news_ar as $key)
{
 echo "<pre>";
  print_r($key);
  echo "</pre>";

не сортирует, при этом выводит так:

Array
(
    [0] => 231
    [news_id] => 231
    [1] => 05-10-2007
    [fissuedate] => 05-10-2007
)
т.е. получаутся 2 раза 

   
 
 автор: ronin   (13.11.2007 в 20:22)   письмо автору
 
   для: ronin   (13.11.2007 в 19:16)
 

-

   
 
 автор: ddhvvn   (13.11.2007 в 22:26)   письмо автору
 
   для: ronin   (13.11.2007 в 20:22)
 

1. Вместо mysql_fetch_array использовать mysql_fetch_assoc
2. Запрос:

SELECT news_id, DATE_FORMAT(issuedate,\"%d-%m-%Y\") As fissuedate  FROM books ORDER BY news_id

Это сортировка по полю news_id, т.к. я не фига не понял, по какому критерия Вам нужно сортировать...
В 1 посте вообще какой-то age... или я что-то пропустил...

   
 
 автор: ronin   (14.11.2007 в 11:21)   письмо автору
 
   для: ddhvvn   (13.11.2007 в 22:26)
 

Спасибо! Это я напутал:) мне нужно было сортировать массив из базы средствами php

<?php
 
require_once("configuration.php");
  
$result mysql_query("SELECT news_id, DATE_FORMAT(issuedate,\"%d-%m-%Y\") As fissuedate  FROM books ");

       while(
$postrow mysql_fetch_array($result,1) )
     {

       
$news_ar[] = $postrow;
    }
arsort  ($news_ar);
foreach (
$news_ar as $key)
{
echo 
"<pre>";
  
print_r($key);
  echo 
"</pre>";
}
?>

это дает тот результат, что нужен. Извиняюсь за путаницу

   
 
 автор: ronin   (14.11.2007 в 11:25)   письмо автору
 
   для: ronin   (14.11.2007 в 11:21)
 

А какая разница между ними?

while($postrow = mysql_fetch_array($result,1) )
       while($postrow = mysql_fetch_assoc($result) )

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования