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();
?> |