Guten Abend!
Ich habe ein kleines Problem. Ich möchte, wenn ich ein Hauptverzeichnis aus einer DB lösche, auch die Unterverzeichnisse löschen. Das ganze geht nur rekursiv. Allerdings ist mir in dem folgenden Script ein Fehler unterlaufen.
PHP-Code:
// DELETE SECTIONS ////////////////////////////////////////////////////////////////////
if ($_REQUEST['delete']) {
// Store the section ID to be deleted in a variable
$sectionID = $_REQUEST['id'];
echo $sectionID;
// Validate the sectionID, and if it's ok delete the section
if ( $validator->validateNumber($sectionID,'Section ID') ){
function remove_tree($ID) {
$result = $GLOBALS['connector']->query('SELECT ID FROM cmssections WHERE parentid=' . $ID . 'AND DELETE FROM cmssections WHERE ID = '.$ID);
while ($section = mysql_fetch_array($result)) {
remove_tree($section[ID]);
}
}
remove_tree($sectionID);
// The validator returned true, so go ahead and delete the section
echo 'Section Deleted.<br>';
}else{
// The validator returned false, meaning there was a problem
echo "Couldn't delete. There was a problem with: ".$validator->listErrors();
}
}
DIe Fehlermeldung:
Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/redway/www/CMS/cmsadmin/editSections.php on line 23
Eine ID wird an die Funktion übergeben. Der Fehler muss in der Datenbank ansprache liegen:
Code:
SELECT ID FROM cmssections WHERE parentid=' . $ID . 'AND DELETE FROM cmssections WHERE ID = '.$ID
Wäre euch für eure Hilfe sehr dankbar. Beschäftige mich leider erst seit gestern mit rekursiven Funktionen.
MfG, Andy