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

C++ JAVA
Post Reply
pumata
Нов
Нов
Posts: 199
Joined: Sat Mar 27, 2010 12:18 pm
Contact:

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

Post by pumata » Wed Nov 12, 2014 4:20 pm

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

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

Code: Select all

<?php
            $i = 0;
            osc_get_premiums&#40;&#41;;
            if&#40;osc_count_premiums&#40;&#41; > 0&#41; &#123;
            echo '<h5>'.__&#40;'Промо обяви','bender'&#41;.'</h5>';
            View&#58;&#58;newInstance&#40;&#41;->_exportVariableToView&#40;"listType", 'premiums'&#41;;
            View&#58;&#58;newInstance&#40;&#41;->_exportVariableToView&#40;"listClass",$listClass.' premium-list'&#41;;
            osc_current_web_theme_path&#40;'loop.php'&#41;;
            &#125;
        ?>

Code: Select all

<?php if&#40;osc_count_items&#40;&#41; > 0&#41; &#123;
        echo '<h5>'.__&#40;'Нови обяви ','bender'&#41;.'</h5>';
        View&#58;&#58;newInstance&#40;&#41;->_exportVariableToView&#40;"listType", 'items'&#41;;
        View&#58;&#58;newInstance&#40;&#41;->_exportVariableToView&#40;"listClass",$listClass&#41;;
        osc_current_web_theme_path&#40;'loop.php'&#41;;
    ?>

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

Post by anonimen » Wed Nov 12, 2014 4:48 pm

Нещо не схванах идеята на кода ти, но ако в таблицата имаш поле, което показва дали обявата е промо, е достатъчно да сортираш по това поле:

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

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

pumata
Нов
Нов
Posts: 199
Joined: Sat Mar 27, 2010 12:18 pm
Contact:

Post by pumata » Wed Nov 12, 2014 5:36 pm

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

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


Не ми дава да го променям

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

Post by anonimen » Wed Nov 12, 2014 8:54 pm

pumata wrote:Имам поле 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]

pumata
Нов
Нов
Posts: 199
Joined: Sat Mar 27, 2010 12:18 pm
Contact:

Post by pumata » Thu Nov 13, 2014 7:07 am

Дава грешка 1064 каквото и да опитам да добавя


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

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

Post by anonimen » Thu Nov 13, 2014 12:42 pm

pumata wrote:Дава грешка 1064 каквото и да опитам да добавя


Не зависи ли от кода това как да се показват обявите, а от БД да взима информацията само?
Eми като оправиш грешката няма да се налага да използваш друг код, ще остане този, който ползваш в момента. Достатъчно е да редактираш заявката по начина, по който ти показах.:)
Тази грешка няма откъде да знам каква е - дай самия &#1117; текст. Пробвай да сложиш тези кавички около имената на колоните и окло имената на таблиците:

Code: Select all

`

lamerko
Турист
Турист
Posts: 267
Joined: Sat Dec 16, 2006 4:14 pm
Answers: 15

Post by lamerko » Thu Nov 13, 2014 3:27 pm

WHERE 1 е просто трик, използван като добра практика. Това винаги връща "истина" и е удобно когато се синтезира дадена заявка - може да имаш филтър, но може и да нямаш. Избягваш проверката за това дали да слагаш WHERE клауза или не :)

pumata
Нов
Нов
Posts: 199
Joined: Sat Mar 27, 2010 12:18 pm
Contact:

Post by pumata » Thu Nov 13, 2014 4:26 pm

Не се справих, но благодаря все пак.

Post Reply