ik heb een tree gemaakt en heb daar ook een copy tree functie in gemaakt alleen die werkt nog niet zo goed
voorbeeld staat op krijnkok.nl/menu/
Als je daar rechtermuisknop en copy doet dan is de structuur niet helemaal juist.
Ik hoop dat jullie mij kunnen helpen.
<code>
<?
include_once("db.php");
if(!isset($_GET['id'])){
$bier = 0;
} else {
$getid = substr($_GET['id'],4);
$sql2 = mysql_query("SELECT * FROM node WHERE ID = ".$getid);
$cat2 = mysql_fetch_array( $sql2 );
$bier = $cat2['parentID'];
}
//$bier = 0;
/**
* Functie die recursief door de categorieën heen loopt
*
* @param int $parent_id
*/
//$sql = "INSERT INTO node (parentID, title, position) (SELECT parentID, title, position+1 FROM node WHERE ID = '".$fromID."')";
$iets=1;
$excluded = array();
$excluded2 = array();
function load_categories( $parent_id ,$depth){
global $iets, $bier,$bla,$excluded;
$depth++;
if($iets == 1){
$sql = mysql_query("SELECT * FROM node WHERE parentID = ".$parent_id." AND ID = '".substr($_GET['id'],4)."' ORDER BY position");
} else {
$sql = mysql_query("SELECT * FROM node WHERE parentID = ".$parent_id." ORDER BY position");
}
if(mysql_num_rows($sql) >0 ){
while($cat = mysql_fetch_array( $sql )){
//echo "ID: ".$cat['ID']."----";
$excluded[] = $parent_id."|".mysql_insert_id()."|".$depth;
//$excluded2[] = mysql_insert_id();
//$excluded2[] = $parent_id;
// deze is niet goed hij zal nooit de goede parent id mee geven.
$nr = (count($excluded)-1);
//$nr2 = count($excluded2);
if($iets == 1){
$par_id = $parent_id;
} else {
// hier moet je checken of de parentID het zelfde is als de vorig gekopieerde node
// zo ja dan moet je natuurlijk het zelfde parentID mee geven.
// maar dan van de nieuw aan gemaakten node.
$now = explode("|",$excluded[($nr-1)]);
//echo $now[0]."-|-". $parent_id;
if($now[0] == $parent_id){
$par_id = $now[1];
} else {
$par_id = mysql_insert_id();
}
}
// hier de insert maken met de juiste parentid van de vorig aangemaakte sibling of parent
if($cat['position'] == 1){
$new_id = $cat['position']+1;
} else {
$new_id = $cat['position']+1;
}
$sql1 = "INSERT INTO node (parentID, title, position) VALUES (".$par_id.", '".$cat['title']." - copy','".$new_id."')";
echo $sql1;
if(mysql_query($sql1)){
$bla = true;
} else {
$bla = false;
}
echo str_repeat("--",$depth) . " " . $cat['title']." mijn id = ".mysql_insert_id()."<br />";
$iets++;
// laad alle categorieën in deze categorie
load_categories( $cat['ID'],$depth );
}
}
} // end function load_categories
load_categories($bier,-1);
//print_r($excluded);
//print_r($excluded2);
if($bla == true){
echo "OK";
} else {
echo "NOT OKE";
}
?>
</code>
174 views