Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сокрытие зависимых постов
 
 автор: FaStY   (24.02.2006 в 19:38)   письмо автору
 
 

вот, что делаю:
есть сообщения, на которые пользователи отвечают. Хочу сделать, чтобы если, я скрываю сообщение, что, чтобы и все сообщения, которые являлись ответом к тому сообщению, а между тем, другие сообщения, которые были ответами, к ответам на первое сообщение :) тоже скрывались. Вообщем чтобы получалась как бы змейка, чтобы, например, сообщение являлось ответом к сообщению, которое было тоже ответом к сообщению. вот как я пробовал:

//берем посты, если на эту тему есть ответы
$queryselect = "SELECT *  FROM  posts  WHERE parent_post='$id_post' ";
  $resultselect= mysql_query ($queryselect)
  or puterror ("Невозможно выбрать сообщение" . mysql_error());
  while($rowselect = mysql_fetch_array($resultselect)){
  //проверяем, есть ли ответы на , проверенные сообщения
  $queryselect2 = "SELECT *  FROM  posts  WHERE parent_post='$rowselect[id_post]'  AND hide !='$hide'  ";
  $resultselect2= mysql_query ($queryselect2)
  or puterror ("Невозможно выбрать сообщение" . mysql_error());
  while($rowselect2 = mysql_fetch_array($resultselect2)){
  
    print $rowselect2[id_post].'<br>';
     $queryupdate = "UPDATE posts  SET  hide='$hide'  WHERE id_post='$rowselect2[id_post]' ";
 $resultupdate = mysql_query ($queryupdate)
 or puterror ("Невозможно обновить сообщения" . mysql_error());
  }
  
  print $rowselect[id_post].'<br>';
 $queryupdate = "UPDATE posts  SET  hide='$hide'  WHERE id_post='$rowselect[id_post]' ";
 $resultupdate = mysql_query ($queryupdate)
 or puterror ("Невозможно обновить сообщения" . mysql_error());
  }

parent_post - Это айди сообщения, на которое был ответ.
$id_post - это айди сообщения

   
 
 автор: cheops   (25.02.2006 в 12:47)   письмо автору
 
   для: FaStY   (24.02.2006 в 19:38)
 

Хм... здесь вообще говоря наверное рекурсией необходимо действовать.

   
 
 автор: FaStY   (25.02.2006 в 13:05)   письмо автору
 
   для: cheops   (25.02.2006 в 12:47)
 

поподбробнее пожалуйста

   
 
 автор: cheops   (25.02.2006 в 20:00)   письмо автору
 
   для: FaStY   (25.02.2006 в 13:05)
 

Если не сложно приведите структуру таблицы posts (получить её можно при помощи оператора SHOW CREATE TABLE) и пару операторов INSERT, вставляющие записи.

   
 
 автор: FaStY   (25.02.2006 в 21:38)   письмо автору
 
   для: cheops   (25.02.2006 в 20:00)
 

вот структура:

CREATE TABLE 'posts' (
  'id_post' int(11) NOT NULL auto_increment,
  'name' text NOT NULL,
  'author' tinytext NOT NULL,
  'id_author' tinytext NOT NULL,
  'hide' enum('show','hide','lock') NOT NULL default 'show',
  'time' datetime NOT NULL default '0000-00-00 00:00:00',
  'parent_post' int(11) NOT NULL default '0',
  'id_theme' int(11) NOT NULL default '0',
  PRIMARY KEY  ('id_post'),
  FULLTEXT KEY 'name' ('name')
) TYPE=MyISAM AUTO_INCREMENT=337 ;

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования