0

私が遭遇したさまざまな例を使用して、データベースからデータが取り込まれるツリービューを作成する方法を見つけようとしていますが、これまでのところ成功していません。

私のデータベースは次のように構成されています。

id | parent_id | title | Urgency(緊急度はまだ実装されていません)

最終結果は、緊急度の値が各項目に使用される画像を決定するツリービューを生成する必要があります。

私が最近利用しようとしているコードは次のとおりです。

<hmtl>
<body>
<?php

function get_children($parent, $level = 1)
{
$result = mysql_query('SELECT * FROM treeview_items WHERE parent_id = '.$parent);
$result2 = mysql_fetch_array($result, MYSQL_ASSOC);
#for avoiding some errors
if(mysql_num_rows($result) > 0)
    #start the list
    echo '<ul>';
    foreach($result2 as $row) {
        #print the item, you can also make links out of these
        echo '<li>'.$row['title'].'</li>';
        #this is similar to our last code
        #this function calls it self, so its recursive
        get_children($row['id'], $level+1);
    }
    #close the list
echo '</ul>';
}

mysql_connect('localhost', 'root');
mysql_select_db('test');

$result = mysql_query('SELECT * FROM treeview_items');
$result2 = mysql_fetch_array($result, MYSQL_ASSOC);

#for avoiding some errors
if(mysql_num_rows($result) > 0) {
#start the list
echo '<ul>';
foreach($result2 as $row) {
    #print the item, you can also make links out of these
    echo '<li>'.$row['title'].'</li>';
    #recursive function(made in next step) for getting all the subs by passing   
 id of main item
    get_children($row['id']);
}
#end the list
echo '</ul>';
#some message if the database is empty
}
else echo 'No Items';

#clear the memory
mysql_free_result($result);
?>
</body>
<html>

基本的に、私が持っているコードは機能しません。どうすれば修正できますか?

編集

いくつかのエラーを修正するためにコードの一部を変更しました。

  • 1
  • 2
  • 5

警告: C:\Program Files\EasyPHP-5.3.9\www\test.php の 13 行目の foreach() に無効な引数が指定されました

中止するまで100回繰り返します。コード内の両方が同じであるため、理由はわかりませんforeach()が、関数内のものは機能しません。

4

3 に答える 3

0

すべての助けに感謝しますが、ジェイは基本的にまったく新しいコードを私に与えることによって私の問題を解決することができました笑

別の質問に関する彼のコードへのリンクは次のとおりです。 サブPHP/MYSQLのカテゴリ

ジェイ、そして他のみんな、ありがとう!:)

于 2012-07-26T08:29:45.470 に答える
0

<script...行と<?php</script>?>

クライアント側のJavaScriptではなく、サーバー側のコードがphpにあります(構文から判断)

于 2012-07-25T09:51:26.547 に答える
0

関数呼び出しが失敗する理由は、そのコードを PHP タグでラップせず、代わりに JS タグでラップしたためです。

于 2012-07-25T09:47:55.347 に答える