Daten in Datenbank neu ordnen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten in Datenbank neu ordnen

    Hallo Leute ich habe da mal zwei Fragen,

    ich habe eine Tabelle

    CREATE TABLE `bilder` (
    `bild_id` int NOT NULL,
    `bild_name` varchar(50) NOT NULL,
    PRIMARY KEY (`bild_id`)
    ) ;

    mit der ich Bilder auslesen möchte die ich in die Tabelle eingeben habe.
    Die bild_id möchte ich selbst vergeben das Bild wird durch den bild_name
    aufgerufen. Das funktioniert auch alles so weit. Ich habe da aber mal
    zwei Probleme.

    1. Wenn ich in der Startansicht ein Datensatz durch del lösche entsteht
    eine Lücke bei den id`s diese möchte ich durch wenn ich auf
    AKTUALISIEREN klicke wieder schließen. Also ich meine z.B. wenn die id
    reihe so aussieht 1257810 das die id´s neu geordnet werden also
    1 ist 1
    2 ist 2
    5 wird 3
    7 wird 4
    8 wird 5
    10 wird 6

    2. Wenn ich in der edit Ansicht ein Datensatz per neuer id Vergabe auf
    einen vorhandenen setzen möchte sollen die anderen um eins verschoben
    werden z.B. wenn id 5 auf id 3 gesetzt werden soll, soll die vorhanden id 3
    auf id 4, id 4 auf id 5 und so weiter bis zur Lücke die id 5 verursacht hat

    Ich hoffe ich habe das nicht zu kompliziert erklärt

    geht so was und wenn ja wie? Ich weis da echt nicht weiter und konnte
    auch nix darüber finden. Würde mich über eure Hilfe freuen und danke
    schon mal für die Mühe.

    Ich habe meine soweit funktionstüchtige Datei angehängt.
    Angehängte Dateien

  • #2
    Zu 1.: Wieso solltest du das wollen? Wo ist da der Sinn?
    Zu 2.: UPDATE tabelle SET id = id+1 WHERE id BETWEEN wert1 AND wert2
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Daten in Datenbank neu ordnen

      Hallo

      Zu 1.: Wieso solltest du das wollen? Wo ist da der Sinn?

      Ich möchte das die Ausgaben immer sauber für die User aussehen. Da ja die bild_id auch gleichzeitig die bild Nummer ist und es bei der Ausgabe unschön aussieht wenn die nicht durchgängig nummeriert sind.

      Zu 2.: UPDATE tabelle SET id = id+1 WHERE id BETWEEN wert1 AND wert2
      Wie muss ich diese abfrage verstehen und wo müsste ich diese einsetzen? Ich muss dazu sagen habe da noch nicht so viel Erfahrungen und möchte ja den Code auch verstehen lernen.

      Ich danke trotzdem erst mal für die schnelle Antwort

      Kommentar


      • #4
        Wieso interessiert dich die Bildnummer? Was interessiert dich daran? Wieso willst du das so ausgeben? Ist meiner Meinung nach Unsinnig.


        Weißt du wofür UPDATE ist? Wenn ja, was macht das SET in dem Statement? Und was bedeutet BETWEEN?

        Versuch mal, das ganze ins deutsche zu übersetzen.
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          Daten in Datenbank neu ordnen

          Hallo Shurakai,

          Wenn du meine Datei gesehen hast sieht das doch nicht schön aus wenn die zahlen nicht in der Reihenfolge erscheinen. Es ist zwar der Adminbereich aber so sollen es die User sehen aber dann ohne das sie was ändern können. Ich habe viele bekante für die ich Fotos mache die bild_id soll dann aber auch die Bestellnummer für das Bild sein die die User sich online ansehen können und nicht alle zu mir kommen müssen.

          Weißt du wofür UPDATE ist? Wenn ja, was macht das SET in dem Statement? Und was bedeutet BETWEEN?

          Daran siehst du ja das ich noch Anfänger bin ich bin da noch nicht so bewandert in der Programmierung sonst bräuchte ich ja nix hier schreiben bzw. fragen.

          Ich hatte das so ausprobiert und es hatte funktioniert. Wie müsste man den besser an so eine Sache rangehen?

          Fragen über Fragen aber wer nicht fragt der nicht gewinnt

          Kommentar


          • #6
            Re: Daten in Datenbank neu ordnen

            Original geschrieben von eno24
            Ich habe viele bekante für die ich Fotos mache die bild_id soll dann aber auch die Bestellnummer für das Bild sein die die User sich online ansehen können und nicht alle zu mir kommen müssen.
            Ob die fortlaufend sind, ist deinen Nutzern vollkommen egal.
            (Oder legst du, wenn du bei Amazon bestellst, Wert auf "fortlaufende" Produktnummern ...?)

            Ausserdem bekommst du damit u.U. ein ganz anderes Problem.
            Nutzer A bestellt heute Bild 4711, und übermorgen löschst du Bild 4711. Bild 4712 wird daraufhin bei deinem geplanten Vorgehen zu Bild 4711. Nutzer A bestellt jetzt noch mal (wie auch immer, gecachte Seite, manuell, ...) Nummer 4711, weil er das "gleiche" Bild noch mal haben möchte - und was bekommt er von dir? Ein ganz anderes als das, was er erwartet hatte.
            Spätestens mit diesem Beispiel sollte klar sein, dass so eine "Neusortierung" keine andere Bezeichnung als mindestens blödsinnig, wenn nicht gar mehr verdient.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar

            Lädt...
            X