Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - alex2008

Страницы: [1]
1
PHP / в чем ошибка (рекурсивные функции)?
« : 22 Марта 2005, 17:08:23 »
[PHP]
function print_array($id_stroki)
{
 static $count;
 $count = (isset($count)) ? ++$count : 0;

 if ($count > 100) { echo "Äîñòèãíóòà ìàêñèìàëüíàÿ ãëóáèíà ïîãðóæåíèÿ!"; $count--; return; }

 $query1  = "select * from forum where (id_m=\'".$id_stroki."\')";
 $result1 = mysql_query($query1)or die(mysql_error()) ;
 $num_results1 = mysql_num_rows ($result1) or die(mysql_error()) ;

 while($num_results1>0)
     {
     $row1 = mysql_fetch_array($result1);

     $otstup="";
     for ($i = 1; $i <= $count; $i++) {  $otstup=$otstup."          ";  };

     $dv=trim(stripslashes($row1["dt"]));
     $dv=substr($dv,6,2)."-".substr($dv,4,2)."-".substr($dv,0,4)."   ".substr($dv,8,2).":".substr($dv,10,2);
     echo "
".$otstup."¤  ".$dv." ";
     $pochta=trim(stripslashes($row1["email"]));
     $pochta="".stripslashes($row1["author"])."";
     echo $pochta." ";
     echo "".stripslashes($row1["title"])." 
";
     $num_results1=$num_results1-1;


     print_array(trim(stripslashes($row1["id"])));
     }
 $count--;
}

print_array(0);
[PHP]

следующий кусок кода выводит вот это:

¤  16-03-2005 15:45 Алексей Проверка добавления сообщения

          ¤  16-03-2005 16:23 Вован Ответ на тестовое сообщение

                    ¤  16-03-2005 16:32 Санек ответ на ответ на тестовое сообщение

                              ¤  16-03-2005 16:33 Степан ответ на ответ ответа


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

2
PHP / в чем ошибка (рекурсивные функции)?
« : 22 Марта 2005, 16:04:59 »
Блин, точно, работает, только почему-то выводит одну тему до конца ветвления, а остальное не выводит, буду разбираться. Спасибо

3
PHP / в чем ошибка (рекурсивные функции)?
« : 22 Марта 2005, 15:51:46 »
Как вывести ошибки я знаю, выводит
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near \'where (id_m=\'0\')\' at line 1

т.е в этой строке
$query1  = "select * from ".$dbtable." where (id_m=\'".$id_stroki."\')";

но здесь ошибки нет

4
PHP / в чем ошибка (рекурсивные функции)?
« : 22 Марта 2005, 14:33:05 »
Есть таблица с сообщениями форума, каждая строка имеет уникальный индекс  - id и  ссылку на id строки, на которую является ответом - id_m, соответственно если id_m=0 то это основная тема, которая может ветвиться дальше. В данном скрипте я пытаюсь вывести дерево сообщений, правда я еще не учел отступы, но это не столь важно, главное вывести что есть. Трабл: выдается ошибка: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\\www\\forum1.phtml on line 32

Может кто поможет?


$conn 
mysql_connect ($dbhost$database_user_name$database_password)or die ("");
$dbtable=\'forum\';
mysql_select_db ($database_name,$conn);

function print_array($id_stroki)
{
 static $count;
 $count = (isset($count)) ? ++$count : 0;
 if ($count > 10) { echo "Достигнута максимальная глубина погружения!"; $count--; return; }


 $query1  = "select * from ".$dbtable." where (id_m=\'".$id_stroki."\')";
 $result1 = mysql_query($query1) ;
 $num_results1 = mysql_num_rows ($result1) ;

 while($num_results1>0)
     {
     $row1 = mysql_fetch_array($result1);
     $dv=trim(stripslashes($row1["dt"]));
     $dv=substr($dv,6,2)."-".substr($dv,4,2)."-".substr($dv,0,4)."   ".substr($dv,8,2).":".substr($dv,10,2);
     echo "
<font size=\'-1\' color=\'#000000\'>".$dv."</font>&nbsp";
     $pochta=trim(stripslashes($row1["email"]));
     $pochta="<a href=\'mailto:".$pochta."\'>".stripslashes($row1["author"])."</a>";
     echo $pochta."&nbsp";
     echo "<font size=\'-1\' color=\'#000000\'><b>".stripslashes($row1["title"])."</b></font>&nbsp
";
     $num_results1=$num_results1-1;


     print_array(trim(stripslashes($row1["id"])));
     }
 $count--;
}

print_array(0);

//закроем соединение с базой данных
mysql_close($conn);



5
Это все должно быть в одном файле и именно в такой последовательности? И если не трудно объясните что такое act и result.

6
Может кто-нибудь подскажет, а то что-то я не соображу, как сделать что-бы результат работы скрипта выводился в том же окне. Объясняю: обычно делается форма и вызываеться скрипт для ее обработки и результаты всегда выводятся на новой стронице, а мне бы хотелось, что бы все что было на странице осталось, а на месте формы появились результаты выполнения скрипта. Мне это нужно для голосования, пример можно посмотреть на www.3dnews.ru

Если кто знает решение, подскажите, спасибо.

Страницы: [1]