форум vBSupport.ru > vBulletin > Вопрос — Ответ
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
mad@Max
Эксперт
 
mad@Max's Avatar
Default Задачка
0

Возникла необходимость в создании еще одной ячейки в таблице post, со значениями 0 или 1. Эти значения я бы хотел задавать через checkbox, т.е. если не отмечено - 0, отмечено - 1. Выводиться этот checkbox будет в быстром ответе, быстром редактировании, создании тем и постов, следовательно он должен читать значения из бд.
Озвучиваю название раздела - Как ЭТО сделать?
Задавал сей вопрос амерекосам, но супостаты не ответили:(
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
mad@Max
Эксперт
 
mad@Max's Avatar
Default
0

Наведите на путь праведный
Суть идеи проста, нужно разделить сообщения в теме на комментарии и релизы (0 и 1 соответственно). Потом при выводе новых сообщений на vbadvanced задавать условие вывода, 0 - не выводить, 1 - выводить.
Создал колонку в таблице post (post.rel_yn) со значеним по умолчанию 1. Далее создал плагин
PHP Code:
global $rel_yn;
if(
$rel_yn == 0)
{
        
$vbulletin->db->query_write("
            UPDATE " 
TABLE_PREFIX "post
            SET rel_yn = 0
        "
);
}
        if (!isset(
$checked['rel_yn']))
        {
            
$checked['rel_yn'] = 'checked="checked"';
        } 
Добавил сам ceckbox
HTML Code:
<label for="cb_rel_yn"><input type="checkbox" name="rel_yn" value="1" id="cb_rel_yn" tabindex="1" $checked[rel_yn] />Это сообщение релиз?</label>
Но так не перехватывает значения отметки, он все время пишет в базу значение которое укажешь "SET rel_yn = 0". Плюс еще запрос переписывает все значения в колонке, а не в создаваемом сообщении, знаю нужно создавать условие привязки к новому сообщению типа "WHERE postid = ...", но хз к чему привязывать...
Что я делаю не так?

Last edited by mad@Max : 11-14-2008 at 08:18 PM.
 
 
kerk
k0t
 
kerk's Avatar
Default
1

HTML Code:
<input type="checkbox" name="rel_yn" value="1" />релиз?
PHP Code:
if($_POST['do'] == 'dosome')
{
       
$vbulletin->input->clean_array_gpc('p', array(
                 
'rel_yn'    => TYPE_INT
       
));
       
$rel_yn = &$vbulletin->GPC['rel_yn'];

       if(
$rel_yn// true
       
{
                
$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "post SET rel_yn = 1");
       }else{ 
// false
                
$vbulletin->db->query_write("UPDATE " TABLE_PREFIX "post SET rel_yn = 0");
       }         

 
 
mad@Max
Эксперт
 
mad@Max's Avatar
Default
0

А на "dosome" какое действие повесить?
 
 
kerk
k0t
 
kerk's Avatar
Default
0

ну а что у тебя в форме написано?
это пост запрос, как я понимаю?
как вообще у тебя твой код выполняется, при каких условиях?
 
 
mad@Max
Эксперт
 
mad@Max's Avatar
Default
0

Код должен выполняться при создании темы или сообщения. Проблема в том, что код должен считывать статус чекбокса...
Пример расположения...
Attached Thumbnails
14.11.jpg  

Last edited by mad@Max : 11-14-2008 at 10:15 PM.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

тогда пользуй встроенные датаменеджеры
 
 
mad@Max
Эксперт
 
mad@Max's Avatar
Default
0

Ээ, это как?
 
 
mad@Max
Эксперт
 
mad@Max's Avatar
Default
0

Неужто только мне интересно отделять зерна от плевел в выводе новостей? :(
 
 
kerk
k0t
 
kerk's Avatar
Default
0

http://vbsupport.ru/forum/search.php...рямым+запросом
может пригодится
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 12:45 AM.


Powered by vBulletin® Version 3.0.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...