Dieser Code repariert ein kaputtes NestedSet anhand der Parent ID
<? // DB Connection @mysql_connect($dbHost, $dbUser, $dbPass) or die("Abbruch: Verbindung zu '$dbHost' konnte nicht hergestellt werden."); @mysql_select_db($dbName) or die("Abbruch: Datenbank '$dbName konnte nicht selektiert werden.<br><br>MySQL sagt: ".mysql_error()); function repairNestedSet($parent) { global $counter; $sql = "SELECT PID FROM tblPage WHERE PParentID = $parent"; $data = mysql_query($sql) or die ("<B>mySQL error:</B> " . mysql_error() . "<BR><BR><B>SQL-Query:</B> [$sql]"); while (list($child) = mysql_fetch_row($data)) { $counter++; mysql_query("UPDATE tblPage SET PLeft = $counter WHERE PID = $child"); repairNestedSet($child); $counter++; mysql_query("UPDATE tblPage SET PRight = $counter WHERE PID = $child"); } } repairNestedSet(0); mysql_close(); ?> |