Подреждане на обяви

pumata

Registered
Здравейте, как мога да направя промо обявите да се нареждат първи, а след тях останалите по дата?

В момента са ми разделени на премиум и нови обяви в които влизат и премиума,редят се по дата.
Това са двата кода, но не съм сигурен дали те трябва да се преправят.


Код:
<?php
            $i = 0;
            osc_get_premiums();
            if(osc_count_premiums() > 0) {
            echo '<h5>'.__('Промо обяви','bender').'</h5>';
            View::newInstance()->_exportVariableToView("listType", 'premiums');
            View::newInstance()->_exportVariableToView("listClass",$listClass.' premium-list');
            osc_current_web_theme_path('loop.php');
            }
        ?>


Код:
<?php if(osc_count_items() > 0) {
        echo '<h5>'.__('Нови обяви ','bender').'</h5>';
        View::newInstance()->_exportVariableToView("listType", 'items');
        View::newInstance()->_exportVariableToView("listClass",$listClass);
        osc_current_web_theme_path('loop.php');
    ?>
 
Нещо не схванах идеята на кода ти, но ако в таблицата имаш поле, което показва дали обявата е промо, е достатъчно да сортираш по това поле:

[sql]select * from table order by is_promo desc, date desc[/sql]

Това ще изведе първо промо-обявите, подредени по дата, и после обикновените обяви, отново сортирани по дата.
 
Имам поле oc_t_item в което се показва обявата дали е промо или не

[sql]SELECT * FROM `oc_t_item` WHERE 1 [/sql]


Не ми дава да го променям
 
pumata каза:
Имам поле oc_t_item в което се показва обявата дали е промо или не

[sql]SELECT * FROM `oc_t_item` WHERE 1 [/sql]


Не ми дава да го променям
Ти прочете ли поста ми?? :D

Това, което си дал, е малко странно - хем oc_t_item е поле, хем си го сложил като име на таблицата.

select * from table order by is_promo desc, date desc

На мястото на is_promo слагаш твойто поле, което показва дали обявата е промо.

[sql]SELECT * FROM table ORDER BY oc_t_item desc, date desc[/sql]
 
Дава грешка 1064 каквото и да опитам да добавя


Не зависи ли от кода това как да се показват обявите, а от БД да взима информацията само?
 
pumata каза:
Дава грешка 1064 каквото и да опитам да добавя


Не зависи ли от кода това как да се показват обявите, а от БД да взима информацията само?
Eми като оправиш грешката няма да се налага да използваш друг код, ще остане този, който ползваш в момента. Достатъчно е да редактираш заявката по начина, по който ти показах.:)
Тази грешка няма откъде да знам каква е - дай самия ѝ текст. Пробвай да сложиш тези кавички около имената на колоните и окло имената на таблиците:
Код:
`
 
WHERE 1 е просто трик, използван като добра практика. Това винаги връща "истина" и е удобно когато се синтезира дадена заявка - може да имаш филтър, но може и да нямаш. Избягваш проверката за това дали да слагаш WHERE клауза или не :)
 

Back
Горе