展開と折りたたみtree
でデータを表示しようとしていました。JQuery
For example my database
Parent A has AA, AB, AC children
Parent AA has AAA, AAB, AAC
Parent AC has ACA, ACB, ACD
etc.
そのため、データベースのすべてのデータを表示するために再帰を使用しています。
ただし、JQueryも宣言する必要があるため、同じRecursion
コードを使用してスクリプトを生成しています
私が聞きたいのは、再帰を一度使用して両方を生成する方法はありますか?データは<body>
タグ内に表示され、JQueryはタグで宣言し<head>
ます。
同じことを2回やると記憶が無駄になると思うので。
これは私の<body>
コードです
<?
$temp = "";
$parent = "";
$level = 0;
loadFolders($parent, $level, $temp);
function loadFolders($parent, $level, $temp){
$getLevelSql = mysql_query("select * from folders where parent='$parent' and level='$level'");
$level++;
while ($getLevelSqlRow = mysql_fetch_array($getLevelSql)){
$parentID = $getLevelSqlRow['id'];
$child = $getLevelSqlRow['child'];
$checkChild = mysql_query("select * from folders where parent='$parentID' and level='$level' ");
if (mysql_num_rows($checkChild)){
?>
<div class="level1 redFont" id="levelID<?echo $getLevelSqlRow['id'];?>">
<?echo "$child";?>
</div>
<div class="level2" id="childID<?echo $getLevelSqlRow['id'];?>">
<?
loadFolders($parentID, $level, $temp);
?>
</div>
<?
} else {
?>
<div><?echo "$child";?></div>
<?
}
}
}
?>
これは私の<head>
コードです
<script>
$(document).ready(function(){
<?
include "config.php";
$temp = "";
$parent = "";
$level = 0;
loadFolder($parent, $level, $temp);
function loadFolder($parent, $level, $temp){
$getLevelSql = mysql_query("select * from folders where parent='$parent' and level='$level'");
$level++;
while ($getLevelSqlRow = mysql_fetch_array($getLevelSql)){
$parentID = $getLevelSqlRow['id'];
$child = $getLevelSqlRow['child'];
$checkChild = mysql_query("select * from folders where parent='$parentID' and level='$level' ");
if (mysql_num_rows($checkChild)){
?>
$("#levelID<?echo $getLevelSqlRow['id'];?>").click(function(){
$("#childID<?echo $getLevelSqlRow['id'];?>").slideToggle("slow");
});
<?
loadFolder($parentID, $level, $temp);
?>
<?
}
}
}
?>
});
</script>
前もって感謝します