Löschen eines DB-Eintrages und Live Aktualisierung bei der Seite

  • Hey,


    ich habe ein Problem.


    Und zwar habe ich Termine. Man kann diese erstellen, editieren und löschen. Alles funktioniert auch. Nur ich brauche den Array ($alleTermine), welcher alle aus der DB gezogenen Termindaten enthält, schon vor dem löschen und editieren. Somit wird nach dem Löschen erst beim 2ten Seitenaufruf dieser gelöschte Termin nicht mehr angezeigt.


    Eine Idee wäre Ajax aber ich möchte dies so lösen. Weiß nur nicht wie ich es machen soll. Hoffe ihr könnt mir hilfreiche Tipps geben.


    Der Code:


    Die Ausgabe der Termine erfolgt so:


    Gruß,

    Stef

  • Erst delete, edit und create.

    Dann den aktuellen Stand laden (und ausgeben).

    =)

  • Hey,


    m.scatello : Ich würde schon sagen, dass ich mich so gut wie möglich an das EVA-Prinzip halte.


    & cottton :


    Okay. Ich habe erst create, dann delete und dann edit gemacht. Aber es kommt nach deinem Schema das selbe raus.


    Das Problem ist, dass ich ja mehrere Termine habe. Ich gebe diese dann aus. Nun hat jeder Termin ein löschen und editieren Button. Aber die ganzen Buttons müssen einen unterschiedlichen Namen haben weil es sonst nicht funktioniert. Da dachte ich, dass ich dann an den Namen den Schlüssel hänge und dann mittels einer for-schleife alle buttons auch abdecke und ausführbahr mache. Aber für die for-schleife brauche ich ja die Schlüssel aus dem Array $alleTermine. Also brauche ich diesen schon vor dem Löschen des Datensatzes. Sonst sind die Schlüssel nicht vorhanden und es funktioniert nicht.


    Ich habe jetzt eine Möglichkeit gefunden. Aber ich denke dies ist unsauber und nicht so gut.


    Ich habe einfach nochmal zum Schluss alle Datensätze aus der DB-Tabelle gefetcht.


    Was meint ihr dazu?


    Gruß,

    Stef

  • Ich sehe|verstehe gerade, dass Du mehrere löschen lassen willst.

    Also ein mass-delete.

    Dann solltest Du aber checkbox verwenden, und nicht button (es sei denn da steckt JS dahinter und Du kannst per button mehrere selecten - sieht aber nicht danach aus).


    Also checkbox verwenden.


    <input type='checkbox' name='ids[]' value='{ID ...}' />


    Einfach mal im Netz suchen nach html multiple checkbox array.


    Im Script checkst Du dann, ob es eine delete-Request ist $_POST[deleteTermin]

    und gehst foreach $_POST[ids] as $id durch und löscht.

  • Ein mass-delete war direkt nicht geplant. Ich wollte auch, dass man die Termine wieder löschen kann.


    Aber danke für den Tipp. Ich werde mich aufjedenfall jetzt daran orientieren. Ist viel besser als so viele Buttons. Wenn ich soweit fertig bin oder noch Probleme auftreten melde ich mich hier wieder.

  • cottton & m.scatello :


    Vielen Dank für die Hilfe. Besoners danke Cottton für deinen super Tipp.


    Es klappt ohne Probleme und ist auch viel besser.


  • Nur am Rande:

    man könnte jetzt eine delete-Query daraus machen.

    Das hätte aber den Nachteil, dass Du nicht weißt, welche id nicht gelöscht werden konnte

    (wenn zB nicht existiert ...).


    Wenn aber sehr viele Einträge gelöscht werden können, dann wäre das aber zu empfehlen. Sonst rennt der SQL Server sich müde :D

    Aber auf jeden Fall per transaction:

  • Zitat

    Sonst rennt der SQL Server sich müde :D

    Ja da hast du recht. Je nachdem wie viele checkboxen ausgewählt sind erfolgen Anfragen.


    Danke für den Ratschlag. Dann hat man nur 1ne Query welche nur einmal ausgeführt wird und trotzdem alle ausgwählten Einträge löscht.

    Ich werde es mal testen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!