Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 12:09:46

Страниц: [1]
Печать
Автор Тема: чем определена сортировка если не задан ORDER BY  (Прочитано 419 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Faster    ↓ 
08 Март, 2011, 12:58:03
НЕ ХУЕТА! ХУЕТА!


Карма: 10
Сообщений: 954
Сила слова: 1.05

content int(11)
niche int(11)
 
можно как то вывести записи в том порядке, что они были внесены?
Записан

воспитываю дочь. С домами и деревьями  - не приставать.
Faster    ↓ 
08 Март, 2011, 01:27:54 , спустя 29 минут 51 секунду
НЕ ХУЕТА! ХУЕТА!


Карма: 10
Сообщений: 954
Сила слова: 1.05

вопрос тупо решился добавлением Primary поля с автоинкрементом и сортировкой по нему
Записан

воспитываю дочь. С домами и деревьями  - не приставать.
SpartakuS    ↓ 
08 Март, 2011, 01:32:21 , спустя 4 минуты 27 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 32
Сообщений: 2444
Сила слова: 1.31

Faster, гыыыыыыыыыыыыыыыыыыыыыыыыыыыы
Записан


цска ебаное гавно.
phpdude    ↓ 
08 Март, 2011, 02:00:29 , спустя 28 минут 8 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

чем определена сортировка если не задан ORDER BY
хранилищем данных. в myisam вроде будет порядок внесенияпо дефолту, в innodb - как получится :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Kvs    ↓ 
08 Март, 2011, 08:27:36 , спустя 6 часов 27 минут 7 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -8
Сообщений: 429
Сила слова: -1.86

а вот то что нужно. Вопрос по теме. У меня по id сортируются 1 2 3 4 5 6. Сообщения выводятся сверху->вниз , а как сделать обратный порядок вывода?))
Спустя 1 минуту 24 секунды добавил
SQL

SELECT * FROM profilecomments WHERE (profilecomment_user_id='{$owner->user_info['user_id']}' AND profilecomment_authoruser_id='{$owner2->user_info['user_id']}') OR (profilecomment_user_id='{$owner2->user_info['user_id']}' AND profilecomment_authoruser_id='{$owner->user_info['user_id']}') ORDER BY profilecomment_id DESC
 
Записан

phpdude    ↓ 
08 Март, 2011, 08:39:17 , спустя 11 минут 41 секунду
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: 20790
Сила слова: 1.66

ORDER BY profilecomment_id DESC
деск сотри
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Kvs    ↓ 
08 Март, 2011, 09:05:30 , спустя 26 минут 13 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -8
Сообщений: 429
Сила слова: -1.86


ORDER BY profilecomment_id DESC
деск сотри
на страницу выводятся 10 сообщений, при стертом DESC , просто меняется порядок вывода начиная с первого сообщения.
 

У меня поле ввода сверху, а сообщение новое появляется снизу)) вот в чем проблема (не советуйте поле поместить вниз)
 

вот класс который за вывод отвечает
 

PHP
function comment_list($start, $limit)
  {
      global $database, $setting, $user;
   
      $comment_array = Array();
      $comment_query = "
      SELECT
                `{$this->comment_type}comments`.*,
                users.user_id,
                users.user_username,
                users.user_fname,
                users.user_lname,
                users.user_photo,
            CASE
              WHEN ((users.user_privacy & @PRIVACY_REGISTERED) AND '{$user->user_exists}'<>0)
                THEN FALSE
              WHEN ((users.user_privacy & @PRIVACY_ANONYMOUS) AND '{$user->user_exists}'=0)
                THEN FALSE
              WHEN ((users.user_privacy & @PRIVACY_SELF) AND users.user_id='{$user->user_info['user_id']}')
                THEN FALSE
              WHEN ((users.user_privacy & @PRIVACY_FRIEND) AND (SELECT TRUE FROM friends WHERE friend_user_id1=users.user_id AND friend_user_id2='{$user->user_info['user_id']}' AND friend_status='1' LIMIT 1))
                THEN FALSE
              WHEN ((users.user_privacy & @PRIVACY_SUBNET) AND users.user_subnet_id='{$user->user_info['user_subnet_id']}')
                THEN FALSE
              WHEN ((users.user_privacy & @PRIVACY_FRIEND2) AND users.user_subnet_id='{$user->user_info['user_subnet_id']}' AND (SELECT TRUE FROM friends AS friends_primary LEFT JOIN friends AS friends_secondary ON friends_primary.friend_user_id2=friends_secondary.friend_user_id1 WHERE friends_primary.friend_user_id1=users.user_id AND friends_secondary.friend_user_id2='{$user->user_info['user_id']}' LIMIT 1))
                THEN FALSE
              ELSE TRUE
            END
            AS is_profile_private
            FROM
                `{$this->comment_type}comments`
            LEFT JOIN
                users
            ON
                `{$this->comment_type}comments`.`{$this->comment_type}comment_authoruser_id`=users.user_id
            WHERE
                `{$this->comment_type}comment_{$this->comment_identifier}`='{$this->comment_identifying_value}'
         ORDER BY
        `{$this->comment_type}comment_id`   DESC
            LIMIT
        {$start}, {$limit}
    "
;
   
      $comments = $database->database_query($comment_query);
      while($comment_info = $database->database_fetch_assoc($comments))
    {
        // CREATE AN OBJECT FOR AUTHOR
        $author = new user();
        if( $comment_info['user_id'] != $comment_info[$this->comment_type.'comment_authoruser_id'] )
      {
          $author->user_exists = FALSE;
        }
      else
      {
          $author->user_exists = TRUE;
          $author->user_info['user_id'] = $comment_info['user_id'];
          $author->user_info['user_username'] = $comment_info['user_username'];
          $author->user_info['user_fname'] = $comment_info['user_fname'];
          $author->user_info['user_lname'] = $comment_info['user_lname'];
          $author->user_info['user_photo'] = $comment_info['user_photo'];
          $author->user_displayname();
        }
     
        // SET COMMENT ARRAY
        $comment_array[] = Array(
        'comment_id' => $comment_info[$this->comment_type.'comment_id'],
        'comment_authoruser_id' =>$comment_info[$this->comment_type.'comment_authoruser_id'],
        'comment_author' => $author,
        'comment_date' => $comment_info[$this->comment_type.'comment_date'],
        'comment_body' => $comment_info[$this->comment_type.'comment_body'],
        'comment_author_private' => $comment_info['is_profile_private']
      );
      }
   
      return $comment_array;
    }
Записан

Абырвалг    ↓ 
08 Март, 2011, 09:58:48 , спустя 53 минуты 18 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

PHP
array_reverse($comment_array);
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Kvs    ↓ 
09 Март, 2011, 07:33:02 , спустя 21 час 34 минуты 14 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: -8
Сообщений: 429
Сила слова: -1.86

не помогает... может там на уровне js где то вывод так сортируется хз
Записан

Страниц: [1]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, Sinkler