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 »   

> Без описания
leshiy
Отправлено: 29 Апреля, 2015 - 19:06:39
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


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




Есть код который выводит все не промодерированные посты из таблицы DATE
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $result = mysql_query("SELECT title,id FROM date WHERE moderation=0 ORDER BY id");
  3. $myrow = mysql_fetch_array($result);
  4. do
  5. {
  6. printf ("<p><input name='id' type='checkbox' value='%s'><label> %s</label></p>",$myrow["id"],$myrow["title"]);
  7. }
  8. while ($myrow = mysql_fetch_array($result));
  9. ?>
  10.  

как бы сделать форму где можно отметить сразу все посты и при нажатии на одну кнопку у них у всех изменилось значение в поле moderation с 0 на 1?
 
 Top
file.shreder
Отправлено: 29 Апреля, 2015 - 19:31:22
Post Id


Посетитель


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


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

[+]


PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if(isset($_GET['checkall'])) {
  4.     mysqli_query($link, "UPDATE `date` SET  moderation=1 WHERE moderation=0");
  5. }
  6. < a href="?checkall=checked">Отметить все</a>


Так не проканает?
 
 Top
exlant
Отправлено: 29 Апреля, 2015 - 19:40:02
Post Id



Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT title,id FROM date WHERE moderation=0 ORDER BY id");
  2.     echo '<form action="" method="post">';
  3.     while ($myrow = mysql_fetch_array($result))
  4.     {
  5.         echo  '<p><input name="id[]" type="checkbox" value="'.$myrow["id"].'"><label>'.$myrow["title"].'</label></p>';
  6.     }
  7.     echo '<input type="submit" value="send">'
  8.             . '</form>';
  9.     if(isset($_POST['id'])){
  10.         $attr = array();
  11.         foreach($_POST['id'] as $val)
  12.             $attr[] = (int)$val;
  13.        
  14.         $str = implode(',',$attr);
  15.        
  16.         $query = 'UPDATE date SET moderation = 1 WHERE id IN('.$str.')';
  17.         $result = mysql_query($query);
  18.     }
 
 Top
file.shreder
Отправлено: 29 Апреля, 2015 - 19:44:57
Post Id


Посетитель


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


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

[+]


exlant пишет:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT title,id FROM date WHERE moderation=0 ORDER BY id");
  2.     echo '<form action="" method="post">';
  3.     while ($myrow = mysql_fetch_array($result))
  4.     {
  5.         echo  '<p><input name="id[]" type="checkbox" value="'.$myrow["id"].'"><label>'.$myrow["title"].'</label></p>';
  6.     }
  7.     echo '<input type="submit" value="send">'
  8.             . '</form>';
  9.     if(isset($_POST['id'])){
  10.         $attr = array();
  11.         foreach($_POST['id'] as $val)
  12.             $attr[] = (int)$val;
  13.        
  14.         $str = implode(',',$attr);
  15.        
  16.         $query = 'UPDATE date SET moderation = 1 WHERE id IN('.$str.')';
  17.         $result = mysql_query($query);
  18.     }

нафига такая программа? ему один фиг нужно просто все непромодерированные отметить.... нажимаешь и отмечаешь все где 0.... всего 2 строчки кода
 
 Top
leshiy
Отправлено: 29 Апреля, 2015 - 19:46:14
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


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




exlant пишет:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT title,id FROM date WHERE moderation=0 ORDER BY id");
  2.     echo '<form action="" method="post">';
  3.     while ($myrow = mysql_fetch_array($result))
  4.     {
  5.         echo  '<p><input name="id[]" type="checkbox" value="'.$myrow["id"].'"><label>'.$myrow["title"].'</label></p>';
  6.     }
  7.     echo '<input type="submit" value="send">'
  8.             . '</form>';
  9.     if(isset($_POST['id'])){
  10.         $attr = array();
  11.         foreach($_POST['id'] as $val)
  12.             $attr[] = (int)$val;
  13.        
  14.         $str = implode(',',$attr);
  15.        
  16.         $query = 'UPDATE date SET moderation = 1 WHERE id IN('.$str.')';
  17.         $result = mysql_query($query);
  18.     }

Выводятся все посты и все больше ничего не происходит.
(Добавление)
file.shreder пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if(isset($_GET['checkall'])) {
  4.     mysqli_query($link, "UPDATE `date` SET  moderation=1 WHERE moderation=0");
  5. }
  6. < a href="?checkall=checked">Отметить все</a>


Так не проканает?

а так выдает ошибку "<"
 
 Top
file.shreder
Отправлено: 29 Апреля, 2015 - 19:49:04
Post Id


Посетитель


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


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

[+]


PHP:
скопировать код в буфер обмена
  1. <a href="?checkall=checked">Отметить все</a>

(Добавление)
какую ошибку?
(Добавление)
может из-за пробела перед а?
 
 Top
exlant
Отправлено: 29 Апреля, 2015 - 19:50:19
Post Id



Посетитель


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


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




file.shreder какая такая??? мои пару строчек вообще программой стыдно назвать..
Я понял задачу, как с начало отметить нужные посты чекбоксом, а отмеченные потом проапдейтить в базе!


и с таким успехом можно просто
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `date` SET  moderation=1 WHERE moderation=0
в phpmyadmin, как запрос втулить, и все...
 
 Top
file.shreder
Отправлено: 29 Апреля, 2015 - 19:50:57
Post Id


Посетитель


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


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

[+]


PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if(isset($_GET['checkall'])) {
  4.     mysql_query("UPDATE `date` SET  moderation=1 WHERE moderation=0");
  5. }
  6. < a href="?checkall=checked">Отметить все</a>
  7.  
 
 Top
exlant
Отправлено: 29 Апреля, 2015 - 19:51:41
Post Id



Посетитель


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


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




mysqli, а у него mysql - скорей всего от туда ошибка!
 
 Top
file.shreder
Отправлено: 29 Апреля, 2015 - 19:52:39
Post Id


Посетитель


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


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

[+]


exlant пишет:
file.shreder какая такая??? мои пару строчек вообще программой стыдно назвать..
Я понял задачу, как с начало отметить нужные посты чекбоксом, а отмеченные потом проапдейтить в базе!


и с таким успехом можно просто
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `date` SET  moderation=1 WHERE moderation=0
в phpmyadmin, как запрос втулить, и все...



ну так а он о чем? этот запрос можно без phpmyadmin, а так как я и писал-> кнопка->проверка нажата ли она-> выполнение запроса UPDATE `date` SET moderation=1 WHERE moderation=0
(Добавление)
безо всяких там циклов и массивов с идентами
(Добавление)
exlant пишет:
mysqli, а у него mysql - скорей всего от туда ошибка!

я тоже понял, и справил выше
 
 Top
exlant
Отправлено: 29 Апреля, 2015 - 19:55:11
Post Id



Посетитель


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


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




Цитата:
ну так а он о чем?

я уже написал, то как я понял вопрос!
В другом случаи не понимаю зачем, автор тогда чекбоксы приводил в примере
 
 Top
leshiy
Отправлено: 29 Апреля, 2015 - 19:57:49
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


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




PHP:
скопировать код в буфер обмена
  1. <?
  2. if(isset($_GET['checkall'])) {
  3.     mysqli_query($link, "UPDATE `date` SET  moderation=1 WHERE moderation=0");
  4. }
  5. echo '<a href="?checkall=checked">Отметить все</a>';
  6. ?>

Warning: mysqli_query() expects parameter 1 to be mysqli, null given
и выводится одна лишь кнопка "Отметить все".
А мне надо что бы напротив каждого поста был бы чекбокс и внизу выделить все и кнопка.
 
 Top
exlant
Отправлено: 29 Апреля, 2015 - 19:58:21
Post Id



Посетитель


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


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




Цитата:
Выводятся все посты и все больше ничего не происходит.

после этого вывода, отмечаешь те которые нужно "отмодерировать", и кнопку send!

Если это не то, то вариант file.shreder, как раз то что тебе и требовалось!
 
 Top
file.shreder
Отправлено: 29 Апреля, 2015 - 19:59:15
Post Id


Посетитель


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


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

[+]


exlant пишет:
Цитата:
ну так а он о чем?

я уже написал, то как я понял вопрос!
В другом случаи не понимаю зачем, автор тогда чекбоксы приводил в примере


Потому то он и спрашивает, и приводит пример, который нужно подкоректировать!!! Чекбоксы там не нужны, Они были бы нужны, если бы ему нужно было выборочно модерировать! Тогда и айди бы нужны были
 
 Top
exlant
Отправлено: 29 Апреля, 2015 - 19:59:59
Post Id



Посетитель


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


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




Цитата:
Тогда и айди бы нужны были

а там есть id!
(Добавление)
file.shreder и вообще не понимаю, какого ты ко мне вообще прицепился??? Иди радуйся простоте своего кода!
 
 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