Здравствуйте. Возникла такая проблема, результат, получаемый из function page_par_id не заносится в БД, как мне кажется это из-за функции echo, т.к если переменной $put2 присвоить что-нибудь другое, а не вызов функции, то все ок, хотя функция возвращает результат, проверял выводом в браузер после запроса в БД. Пытался воспользоваться return но, он возвращает результат только передоного id, а должно возвращаться дерево(типа: page1/page2/page3/и.т.д). Подскажите, как можно выйти из данной ситуации. PHP: <? function page_par_id ($ppi) { $msq = mysql_query("select page_id, page_parent_id, page_name from page where page_id = '".$ppi."' order by page_id asc"); while ($ww = mysql_fetch_array($msq)) { page_par_id ($ww['page_parent_id']); echo $ww['page_name']."/"; } } if ($_GET['tip']=='edit') { // PUT if ($_POST['page_parent_id']!=0) { $put2 = page_par_id($_GET['page_id']); } else { $put2 = $_POST['page_name']; } // END PUT $query = "UPDATE page SET page_parent_id='".$page_parent_id."', temp_id='".$temp_id."', sait_id='".$sait_id."', put='".$put2."', page_name='".$page_name."', page_men_name='".$page_men_name."', page_title='".$page_title."', page_description='".$page_description."', page_keywords='".$page_keywords."', doc_id='".$doc_id."', page_doc_link='".$page_doc_link."', lang_id='".$lang_id."' WHERE page_id =".$_GET['page_id'].";"; } // -------------------------------------------------------- if(@mysql_query($query)) { print "<html><head>\n"; echo $put2; // Для проверки выводится ли вообще результат! Выводит //print "<meta HTTP-EQUIV='refresh' content='0; url=../../admin/struktura.php'\n"; print "</html></head>\n"; exit(); } ?>
echo выводит строку, она не возвращает ее из функции. чтобы вывелось дерево нужно сделать например так: Код (Text): function page_par_id ($ppi) { global $return_string; ................. // echo $ww['page_name']."/"; $return_string .= $ww['page_name']."/"; ................. } или так: Код (Text): function page_par_id ($ppi,$return_string) { ................. // page_par_id ($ww['page_parent_id']); $return_string .= page_par_id ($ww['page_parent_id'],$return_string); // echo $ww['page_name']."/"; $return_string .= $ww['page_name']."/"; } return $return_string; }