Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 7
Seite [1]
BiliskN3r


Beginner





Beiträge: 9
# Thema - 10.11.2008 um 20:38 Uhr
Hallo zusammen,

da ich über die sufu nichts gefunden habe...hier meine frage

ich würde gern mein forum "leeren" also themen eines bestimmten forums löschen.

ich habe z.B. ein Forum mit dem Namen "Abwesenheit" oder "Archiv" und würde gerne alle darin geposteten themen löschen.
Ist dies machbar ?

denn alle themen einzeln zu löschen würde sehr viel arbeit kosten

vielen dank schonmal für antworten

mfg
biliskner


------------------
mfg
biliskner

www.guild-paranoid.de
Inaktiv
Team[GER]Clan


Rock the board




Beiträge: 69
# Antwort: 1 - 10.11.2008 um 21:02 Uhr
In der MSQL Datenbank.. Da kannst du alle mit einmal anklicken..

Gruss


Inaktiv
|
VooDooAlex


Poststar




Herkunft: Coburg
Beiträge: 691
# Antwort: 2 - 11.11.2008 um 12:31 Uhr
Wenn Du den 1. Beitrag löscht, sieht man den rest nicht mehr, ist also nicht mehr sichtbar.
ISt halt nur noch in der Datenbank enthalten.

Gruß Alex


------------------




Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 3 - 11.11.2008 um 13:45 Uhr
11.11.2008 um 12:31 Uhr - Alex1631:
Wenn Du den 1. Beitrag löscht, sieht man den rest nicht mehr, ist also nicht mehr sichtbar.
ISt halt nur noch in der Datenbank enthalten.

Gruß Alex

ist aber die schlechteste Lösung.

einen Thread inkl. comments über MySQL löschen:
Threadid aus der {pre}_threads raussuchen.
Datensatz aus der {pre}_threads kann gelöscht werden.
in die {pre}_comments tabelle wechseln, und die Suchfunktion nutzen.
Such bei comments_id die threadid & comments_mod = board
die gefundenen Datensätze alle löschen.

Das Wars.

{pre}_ durch deinene Präfix ersetzen, bei Standard Installation ist dieses cs_


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
BiliskN3r
Thread-Ersteller


Beginner





Beiträge: 9
# Antwort: 4 - 12.11.2008 um 13:21 Uhr
hallo zusammen,

erstmal schönen dank für die antworten.

ich habe mir jetzt folgenden sql befehl fertig gemacht:
DELETE FROM `cs_threads` WHERE `board_id` like 17 AND `threads_important` like 0
damit werden alle themen eines forums gelöscht, außer die angepinnten.
so wollte ich das ganze auch haben, jedoch werden dadurch nicht die comments gelöscht wenn ich Fr33z3m4n richtig verstanden hab.
Zwar werden sie nicht mehr angezeigt sind aber in der datenbank noch vorhanden.

nun aber mein problem:
wenn ich das ganze so lösche wie ichs oben geschrieben hab, kann ich bei comments nichts löschen da ich dort nicht nach einer board_id suchen kann, sondern nur nach :
comments_id, users_id, comments_fid, comments_mod, comments_ip, comments_time, comments_text, comments_edit

was ist dieses comments_fid ? denn das ist bei mehreren gleich, ist das mit der thread_id gleichzusetzen ?

nunja .. aber die comments kann ich dann wohl nicht so löschen mit der board_id ... oder ?

vielen dank für anregungen / antworten

mfg
biliskner


------------------
mfg
biliskner

www.guild-paranoid.de

Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 5 - 12.11.2008 um 13:33 Uhr
ups sorry, habs oben falsch geschrieben
die board_id wird in der tabelle comments unter comments_fid gespeichert

thread_id = comments_fid

board_id wird dort nicht gespeichert, da board id das Forum ist, also unterhalb der Kategorie

deine SQL Befehl ist nicht ganz ok, fehlen einige Zeichen etc.
Sofern er funktioniert ok. aber richtig wäre

DELETE FROM cs_threads WHERE board_id = '17' AND threads_important = '0';

dadurch löscht du alle Threads aus der DB welche im Forum mit der ID 17 vorhanden sind, und nicht angepinnt.

Problem hierbei, du hast keine Threads_id
SELECT * from cs_threads wHERE board_id = '17' AND threads_important = '0';
dann bekommst du eine liste mit allen Threads, und nimmst dort jetzt jeder Thread_id einzeln und erstellst dann einen delete befehle für die Comments

DELETE FROM cs_comments WHERE comments_fid = 'deinethreadid' AND comments_mod = 'board';
diesen befehle so oft mit anderer THreadid ausführen, bis du alle durch bist, dann erst den Delete befehl für die cs_threads Tabelle.


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
BiliskN3r
Thread-Ersteller


Beginner





Beiträge: 9
# Antwort: 6 - 12.11.2008 um 14:07 Uhr
oh vielen dank für die schnelle antwort.
hatte ich mir schon fast gedacht das es so ist das ich die thread_id rausschreiben muss, obwohl ich genau das ja vermeiden wollte. will mir halt so wenig arbeit wie möglich machen

daher mal nen vllt blöder einfall:
ist es evtl. möglich eine abfrage zu machen, die anhand der commends_fid die thread_id in der tabelle cs_threads durchsucht und falls sie nicht gefunden wird den datensatz automatisch löscht ?

also: vergleiche cs_commends / commends_fid mit cs_thread / thread_id und wenn nicht existiert lösche den datensatz cs_commends mit der commends_fid "die nicht existiert"

keine ahnung ob sowas möglich ist, kenne mich mit sql leider nicht aus.

nochmals vielen dank schonmal für eure/deine hilfe


------------------
mfg
biliskner

www.guild-paranoid.de

Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 7 - 12.11.2008 um 14:30 Uhr
naja du kannst nicht einerhand einen SQL SELECT Befehl machen, und im gleichem Atemzug ein Delete. das musst du trennen, und das geht mit SQL dann nicht, du kannst ergebnisse aus einem Select nicht für den bächsten Delete befehl nutzen, daher muss das über php gemacht werden.


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
Antworten: 7
Seite [1]


Sie müssen sich registrieren, um zu antworten.