ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
295
295
EMPFEHLEN
-
Hallo,
ich benutze den Explorer filemanager und möchte die lösch funktion erweitern so das er die daten aus der datenbank ebenfals löscht.
folgende fun_del.php habe ich
Code PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
function del_items($dir) { // check if user is allowed to delete files if (!permissions_grant($dir, NULL, "delete")) show_error($GLOBALS["error_msg"]["accessfunc"]); $cnt=count($GLOBALS['__POST']["selitems"]); $err=false; // delete files & check for errors for($i=0;$i<$cnt;++$i) { $items[$i] = stripslashes($GLOBALS['__POST']["selitems"][$i]); $abs = get_abs_item($dir,$items[$i]); if(!@file_exists(get_abs_item($dir, $items[$i]))) { $error[$i]=$GLOBALS["error_msg"]["itemexist"]; $err=true; continue; } if(!get_show_item($dir, $items[$i])) { $error[$i]=$GLOBALS["error_msg"]["accessitem"]; $err=true; continue; } //datenbank verbindung zum löschen $mysql = new db(); $mysql->db_Connect($mySQLserver, $mySQLuser, $mySQLpassword, $mySQLdefaultdb); $row_count = $mysql->db_Delete("hupsi_share", "url IN(" . implode(',', $items[$i]) . ")"); // Delete $ok=remove(get_abs_item($dir,$items[$i])); if($ok===false) { $error[$i]=$GLOBALS["error_msg"]["delitem"]; $err=true; continue; } $error[$i]=NULL; } if($err) { // there were errors $err_msg=""; for($i=0;$i<$cnt;++$i) { if($error[$i]==NULL) continue; $err_msg .= $items[$i]." : ".$error[$i]."<BR>\n"; } show_error($err_msg); } header("Location: ".make_link("list",$dir,NULL)); }
die checkbox seht so aus
Code :1
<input type="checkbox" onclick="javascript:Toggle(this);" value="hups_bridge_to_eternity_by_nmsmith.jpg" name="selitems[]">
ich bekomme das irgenwie nicht hin
diese zeile macht mir kopfschmerzen
url IN(" . implode(',', $items[$i]) . ")
wie lösche ich in diesen fall daten aus der db auch wenn mehrere Checkboxen angecklickt sind
hatte das
vor dem eigendlichen remove eingefügtPHP-Code://datenbank verbindung zum löschen
$mysql = new db();
$mysql->db_Connect($mySQLserver, $mySQLuser, $mySQLpassword, $mySQLdefaultdb);
$row_count = $mysql->db_Delete("hupsi_share", "url IN(" . implode(',', $items[$i]) . ")");
Geändert von hups1803 (12.02.12 um 10:58 Uhr)
-
ok soweit hab ich es hinbekommen das er die files in der db löscht
jetzt wird es kompliziert, wenn ich nun einen Ordner samt inhalt im explorer lösche mach er immoment nix nur files gehen ohne ordner.PHP-Code:$row_count = $mysql->db_Delete("hupsi_share", "url = '".$items[$i]."'");
Die rmove Zeile sieht so aus
wie muss ich es machen das wenn man im explorer einen ordner löscht der Inhalt auch aus der DB gelöscht wird?PHP-Code:$ok=remove(get_abs_item($dir,$items[$i]));
-
12.02.12 12:52 #3
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.961
Wie sieht denn die zugehörige Datenbanktabelle aus? Vermutlich hat jeder Datensatz eine ID und eine Eltern-ID. Du musst die ID des Verzeichnisses löschen und anhand dieser die Datensätze finden, die diese als Eltern-ID haben. Die kannst du auch löschen. Du musst aber auch darauf achten, dass du theoretisch auch Verzeichnisse in Verzeichnissen hast. Dementsprechend musst du das vielleicht rekursiv lösen. Oder Yaslaw hat wieder eine geniale Umsetzung in SQL, die ich dir aber nicht bieten kann.
Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
die tabelle sieht so aus
Code :1 2 3 4 5 6 7 8 9 10 11 12
`id` int(11) NOT NULL AUTO_INCREMENT, `usersess` text, `user_id` int(11) DEFAULT NULL, `user_name` varchar(255) DEFAULT NULL, `url` varchar(155) DEFAULT NULL, `prof` text, `profname` varchar(255) DEFAULT NULL, `dl_pfad` text, `comments` text, `xmail` varchar(255) DEFAULT NULL, `profmail` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)
-
12.02.12 15:20 #5
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.961
Wie jetzt? Und wie sind da jetzt die Daten gespeichert? Also könnte man da mal einen kurzen Auszug davon sehen? Weil dort ist doch nicht normalisiert und nichts sinnvoll organisiert.
Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
-
13.02.12 08:50 #7
- Registriert seit
- May 2007
- Ort
- Dresden (Sachsen)
- Beiträge
- 1.961
Es bleibt dabei: normalisiere deine Tabelle, ansonsten wird das hier unnötig kompliziert.
Ich mag:- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
Ich sehe in deinen Daten der DB keinen Ordner sondern nur Dateinamen. Sind die Dateinamen über die Ordner hinweg eindeutig? Oder woher weiss dein Code in welchem Ordner die Datei aus deiner Tabelle liegt?
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
die dateien sind eindeutig der pfad zur datei setzt sich aus dl_pfad + url zusamen
die daten aus der url sprich die dateinamen sind einzigartig darüber könnet man es machen .
habe ich hier beim einzel löschen auch so gemacht.
$items[$i] == bildername== datenbank-feld urlPHP-Code:$row_count = $mysql->db_Delete("hupsi_share", "url = '".$items[$i]."'");
es gibt in der datenbank leider keine ordner namen alleine nur als pfad in dem db Feld dl_pfad
Ähnliche Themen
-
Berechtigungen für mehrere Ordner und Dateien vergeben...bitte helfen!
Von userjules im Forum PHPAntworten: 13Letzter Beitrag: 11.04.10, 08:27 -
Mehrere Konto bei Outlook 2007 - Mehrere Posteingang / Postausgang Ordner
Von Pinky im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 03.02.08, 14:10 -
mehrere Dateien in Datenbank abspeichern
Von ig00110 im Forum PHPAntworten: 0Letzter Beitrag: 18.03.07, 15:37 -
Wie kann ich die Dateien bzw. Ordner in einem Ordner auslesen?
Von D@nger im Forum PHPAntworten: 6Letzter Beitrag: 21.05.06, 17:50 -
Ordner per php erstellen, links zu allen dateien im ordner
Von Kamephis im Forum PHPAntworten: 3Letzter Beitrag: 12.06.04, 00:52





Zitieren



Login






[PHP][Snippet] Array zu XML konvertieren