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

Форум MySQL

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

 

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

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

тема: Рекурсивная функция (подсчет объявлений)
 
 автор: rised   (13.01.2007 в 23:00)   письмо автору
 
 

Здравствуйте!

Знаете, бывают моменты, когда просто не приходит в голову решение, сколько не пробуешь и вроде сверяешь с книгами, статьями, но ничего не выходит.

Мне нужно с помощью функции посчитать количество записей с полем parentId = текущий id категории.
Я записал следующий код (модифицировал код с этого форума)


function countArts($ids) 
    {
    $query = "SELECT  * FROM bbs_categories WHERE parentCatId = " . $ids . " ORDER BY prior"; 
    $result = mysql_query($query); 
    while ($print = mysql_fetch_array($result)) 
        { 
        $ide = $print['catId']; 
        $GetFromDb12 = mysql_query("SELECT * FROM bbs_articles WHERE parentCatId={$ide} AND moderConfirm=1");
        $artNumber = mysql_num_rows($GetFromDb12);
        if (empty($artNumberAll) or $artNumberAll < 0)
        {$artNumberAll = 0;}
        $artNumberAll = $artNumberAll + $artNumber;
        countArts($ide); 
        } 
    } 


Мне нужно получить переменную artNumberAll вне функции и я не соображу как это сделать.

Спасибо

   
 
 автор: cheops   (14.01.2007 в 00:07)   письмо автору
 
   для: rised   (13.01.2007 в 23:00)
 

А структура таблицы bbs_categories какова?

   
 
 автор: rised   (14.01.2007 в 02:11)   письмо автору
 
   для: cheops   (14.01.2007 в 00:07)
 


CREATE TABLE `bbs_categories` (
  `catId` int(11) NOT NULL default '0',
  `prior` int(11) NOT NULL default '0',
  `catName` text NOT NULL,
  `parentCatId` int(11) NOT NULL default '0',
  PRIMARY KEY  (`catId`)
) TYPE=MyISAM;

CREATE TABLE `bbs_articles` (
  `artId` int(11) NOT NULL default '0',
  `author` text NOT NULL,
  `phone` text NOT NULL,
  `artName` text NOT NULL,
  `email` text NOT NULL,
  `parentCat` text NOT NULL,
  `term` int(11) NOT NULL default '0',
  `fullContent` text NOT NULL,
  `views` int(11) NOT NULL default '0',
  `artDate` date NOT NULL default '0000-00-00',
  `moderConfirm` text NOT NULL,
  `artDateUser` text NOT NULL,
  `parentCatId` int(11) NOT NULL default '0',
  PRIMARY KEY  (`artId`)
) TYPE=MyISAM;

   
 
 автор: zooppp   (14.01.2007 в 00:09)   письмо автору
 
   для: rised   (13.01.2007 в 23:00)
 

Объявите её глобальной, и она будет доступна вне функции.

   
 
 автор: rised   (14.01.2007 в 02:14)   письмо автору
 
   для: zooppp   (14.01.2007 в 00:09)
 

я написал, что загвоздка не в том, чтобы где-то прочитать, а в том, что не смотря на прочитанное выполнить не получается

я специально убрал global, чтобы кто-то показал конкретное место куда его и в каком виде нужно вставить, чтобы я понял в чем была проблема.

   
Rambler's Top100
вверх

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