- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть код - он добавляет блоки на страницу, но дело в том что новый (созданный блок) он двигает вниз делая его последним, как сделать чтобы было наоборот, чтобы старые двигались в конец.
function sc_catalog_add_item( $title, $catch, $image, $text, $order = 0 ) {
global $wpdb;
if ( $order == 0 ) {
$query = $wpdb->prepare( "SELECT max(disp_order) FROM "
. _sc_catalog_table() );
$order = $wpdb->get_var( $query, 0, 0 );
if ( $order == 0 ) {
$order = 0;
} else {
$order++;
}
}
$rows_affected = $wpdb->insert( _sc_catalog_table(),
array( 'title' => $title,
'image' => $image,
'catch' => $catch,
'text' => $text,
'disp_order' => $order ) );
if ( $rows_affected == 0 ) {
return false;
}
// Get inserted id
$query = $wpdb->prepare( "SELECT * FROM " . _sc_catalog_table() . " WHERE "
. " title = %s AND image = %s AND "
. "catch = %s AND text = %s AND disp_order = %d "
. "ORDER BY id DESC", $title, $image,
$catch, $text, $order );
$row = $wpdb->get_row( $query, ARRAY_A );
return $row;
}
function sc_catalog_edit_item ( $id, $title, $catch, $image, $text, $order ) {
global $wpdb;
$rows_affected = $wpdb->update( _sc_catalog_table(),
array( 'title' => $title,
'image' => $image,
'catch' => $catch,
'text' => $text,
'disp_order' => $order ),
array( 'id' => $id ) );
if ( $rows_affected == 0 ) {
// Check if the object is the same as in database
$prev_item = sc_catalog_get_item( $id );
if ( $prev_item['title'] == $title
&& $prev_item['image'] == $image
&& $prev_item['catch'] == $catch
&& $prev_item['text'] == $text
&& $prev_item['disp_order'] == $order ) {
return true;
}
}
return $rows_affected > 0;
}
function sc_catalog_delete_item ( $id ) {
global $wpdb;
$item = sc_catalog_get_item( $id );
if ( ! $item ) {
return false;
}
$query = $wpdb->prepare( "DELETE FROM " . _sc_catalog_table()
. " WHERE id = %d", $id );
$rows_affected = $wpdb->query($query);
return $rows_affected > 0;
}
function sc_catalog_get_item( $id ) {
global $wpdb;
$query = $wpdb->prepare( "SELECT * FROM " . _sc_catalog_table()
. " WHERE id = %d", $id );
$row = $wpdb->get_row( $query, ARRAY_A );
return $row;
}
function sc_catalog_get_all() {
global $wpdb;
$query = $wpdb->prepare( "SELECT * FROM " . _sc_catalog_table()
. " ORDER BY disp_order" );
$rows = $wpdb->get_results( $query, ARRAY_A );
return $rows;
}
function sc_catalog_move_up( $id ) {
global $wpdb;
$item = sc_catalog_get_item( $id );
if ( ! $item ) {
return false;
}
// Move down previous item
$prev_order_query = $wpdb->prepare( "SELECT max(disp_order) FROM "
. _sc_catalog_table() . " WHERE "
. "disp_order < %d",
$item['disp_order'] );
$prev_order = $wpdb->get_var( $prev_order_query, 0, 0);
if ( $prev_order !== NULL ) {
// Move up previous item
$wpdb->query( $wpdb->prepare( "UPDATE " . _sc_catalog_table() . " SET "
. "disp_order = %d WHERE disp_order = %d",
$prev_order + 1, $prev_order ) );
// Move down item
$wpdb->query( $wpdb->prepare( "UPDATE " . _sc_catalog_table() . " SET "
. "disp_order = %d WHERE id = %d",
$prev_order, $id ) );
} else {
return false; // selected item is already the first
}
return true;
}
function sc_catalog_move_down( $id ) {
global $wpdb;
$item = sc_catalog_get_item( $id );
if ( ! $item ) {
return false;
}
// Move up previous item
$next_order_query = $wpdb->prepare( "SELECT max(disp_order) FROM "
. _sc_catalog_table() . " WHERE "
. "disp_order > %d",
$item['disp_order'] );
$next_order = $wpdb->get_var( $next_order_query, 0, 0);
if ( $next_order !== NULL ) {
// Move down next item
$wpdb->query( $wpdb->prepare( "UPDATE " . _sc_catalog_table() . " SET "
. "disp_order = %d WHERE disp_order = %d",
$next_order - 1, $next_order ) );
// Move down item
$wpdb->query( $wpdb->prepare( "UPDATE " . _sc_catalog_table() . " SET "
. "disp_order = %d WHERE id = %d",
$next_order, $id ) );
} else {
return false; // selected item is already the last
}
return true;
}
?>
---------- Добавлено 23.03.2012 в 19:13 ----------
готов заплатить
Можно вот таким костыльком: ORDER BY disp_order DESC
Т.е. у вас блоки будут выводиться в обратном порядке просто.