Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помощь с созданием скрипта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Вытеснение последнего
Revelation
Отправлено: 24 Марта, 2013 - 20:05:44
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2013  
Откуда: Россия


Помог: 0 раз(а)

[+]


Здравствуйте, уважаемые форумчане!
Совсем недавно начал создавать скрипты на php. При написании одного скрипта, у меня возник вопрос. Хотел бы, чтобы мне помогли его решить.

Создал форму добавления, обработчик, добавление в бд через эту форму. Хотел бы сделать метод "вытиснения".
Используется только 30 материалов со значением material_last == '1'
Если к примеру уже все 30 материалов добавлены, человек через форму добавляет 31 материал, значение material_last ставится на "1", а у первого из 30 материала значение ставится на "0", далее добавляют 32 материал, со 2 материала значение на "0" меняется, 33 добавляют - значение 3 материала ставится на "0". Думаю, понятна схема.

Дело в том, что в базе данных еще используются материалы со значением material_vip == '1'. Оно не должно иметь никакого отношения к этому 30-материальному обороту. Три дня голову ломаю, не знаю, как сделать.

Люди добрые, подскажите пожалуйста, как сделать этот кругооборот из 30 материалов, причем без материалов из категории "vip".

Заранее благодарю. Надеюсь на вашу помощь.
 
 Top
DelphinPRO
Отправлено: 24 Марта, 2013 - 20:46:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




вывод последних 300 записей исключая vip
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *
  2. FROM `table_name`
  3. WHERE `vip` != 1
  4. ORDER BY `id`
  5. LIMIT 30

сортировать можно по Primary key, дате добавления, специально заведенному полю порядка следования...


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Revelation
Отправлено: 24 Марта, 2013 - 20:59:18
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2013  
Откуда: Россия


Помог: 0 раз(а)

[+]


DelphinPRO,
Вы, наверное, не правильно меня поняли. Мне нужно не выводить, а создать действие кругооборота, "вытеснение" новым первого из списка 30-ки.

(Отредактировано автором: 24 Марта, 2013 - 21:00:31)

 
 Top
Revelation
Отправлено: 29 Марта, 2013 - 05:51:03
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2013  
Откуда: Россия


Помог: 0 раз(а)

[+]


Подскажите, народ, как сделать?
 
 Top
LIME
Отправлено: 29 Марта, 2013 - 07:40:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Revelation пишет:
Мне нужно не выводить, а создать действие кругооборота
а зачем?
тебе же нужны последние 30?
 
 Top
Revelation
Отправлено: 29 Марта, 2013 - 19:07:15
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2013  
Откуда: Россия


Помог: 0 раз(а)

[+]


LIME, мне нужно не выводить последние 30, а чтобы в базе данных были последние 30 материалов с определенным значением в столбце.
Вот пример краткий:
Спойлер (Отобразить)

Думаю понятно, чисто только 30 последних материалов должны иметь заданные значения.

(Отредактировано автором: 29 Марта, 2013 - 19:09:38)

 
 Top
IllusionMH
Отправлено: 29 Марта, 2013 - 19:13:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Revelation, получайте все вип записи, выводите их и запоминайте их id(или что-то в этом духе)
Потом получаете 30-кол-во_вип обычных сообщений из БД и выводите их. В чем проблема?

Может array_unshift?

(Отредактировано автором: 29 Марта, 2013 - 19:15:24)

 
 Top
Revelation
Отправлено: 29 Марта, 2013 - 21:52:21
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2013  
Откуда: Россия


Помог: 0 раз(а)

[+]


IllusionMH, Можете дать основу, как написать это на php. Просто пока что туговато соображаю, обучаюсь.
 
 Top
Revelation
Отправлено: 10 Апреля, 2013 - 16:17:58
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2013  
Откуда: Россия


Помог: 0 раз(а)

[+]


Актуально. Кто сможет объяснить, как сделать?
 
 Top
biperch
Отправлено: 10 Апреля, 2013 - 16:32:45
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009  
Откуда: Днепропетровск


Помог: 8 раз(а)




DelphinPRO пишет:
вывод последних 300 записей исключая vip
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT *
  2. FROM `table_name`
  3. WHERE `vip` != 1
  4. ORDER BY `id`
  5. LIMIT 30




в mysql нет такого оператора как != есть <>

(Отредактировано автором: 10 Апреля, 2013 - 16:34:36)

 
 Top
LIME
Отправлено: 10 Апреля, 2013 - 17:47:04
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




biperch есть
 
 Top
Medallion
Отправлено: 10 Апреля, 2013 - 18:14:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Май 2012  
Откуда: Херсон, Украина


Помог: 7 раз(а)




А может счетчик просто создать, при добавлении материала -1, еще раз добавили, еще раз -1 и т.д.
 
 Top
LIME
Отправлено: 10 Апреля, 2013 - 19:48:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Revelation пишет:
Думаю понятно, чисто только 30 последних материалов должны иметь заданные значения.
ну это может и понятно
но непонятно зачем это нужно
и понятно что нет причин для того чтобы это было нужно
можно задачу пошире описать?
 
 Top
Revelation
Отправлено: 12 Апреля, 2013 - 18:17:38
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Март 2013  
Откуда: Россия


Помог: 0 раз(а)

[+]


Medallion Можно по-подробнее?
LIME Хочу создать систему выталкивания вип материалов.
 
 Top
LIME
Отправлено: 12 Апреля, 2013 - 18:20:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




фуууф...это уже все поняли
нафига эта система нужна
думаю(почти уверен) что можно и без нее запросто обойтись
более широкая задача а не та же другими словами спрашивается
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB