これが私の機能です:
function loop($id){
unset($result, $sql, $query);
$sql = " SELECT parent_id FROM page_entries WHERE id = '$id' ";
$query = mysql_query ( $sql )or die(mysql_error());
$result = mysql_fetch_assoc ( $query )or die(mysql_error());
if ( $result['parent_id'] != 0 ) {
echo $result['parent_id']."... looping<br>";
loop($result['parent_id']);
} else {
echo $result['parent_id']."... done loop";
return $result['parent_id'];
}
}
echo loop('2');
テストのためにparent_idをエコーしています。これはブラウザに出力されるものです:
1...ループ中
0... ループ終了
何が起こっているのかよくわからないのは、関数内の行をコメントアウトしてecho loop('2')
も何もエコーしないことです。return を に変更してテストしてみましたが、まだ何もありません。return $result['id']
echo
return 'foo';
何か案は?