Problem mit nem Script für newsverwaltung

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

  • Problem mit nem Script für newsverwaltung

    Hallo zusammen,

    ich möchte ein script scheiben, das es mir erlaubt, eine ganz bestimmte news zu löschen, und die ids der nachfolgenden news um 1 zu verringern, aber irgendwie geht es net.

    Das ganze liegt in einer Mysql DB mit folgenden feldern:
    id: Primary Key (das soll dann verringert werden)
    uid: Userid
    topic:
    text:
    zeit:

    Ich hoffe jemand hat nen vorschlag.

  • #2
    Wenn die Spalte den zusatz "auto_increment" hat wird es schwer.
    The Human Mirror - Mein Blog!
    www.sonicsense.de - The future of music!

    Kommentar


    • #3
      hat sie nicht (mehr *gg*)

      das Löschen funktioniert schon, nur kann ich die nachfolgenden news nicht um 1 verringern.

      Kommentar


      • #4
        auch diese elegante sql anweisung ist hier schonmal durchgeflogen. suche?

        Kommentar


        • #5
          UPDATE ist dein freund in verbindung mit WHERE und ASC oder DESC? -> einfach im hanbuch schauen

          Pseuocode:

          Reduziere die spalte ... um 1 in der der wert größer ist als bei dem gelöschten datensatz und sortiere zuvor die datensätze nach der spalte.... da ja ansonst, falls es sich um dem primärschlussel handelt eine fehlermeldung ausgegeben würde.

          Um hieraus ein SQL statment zu bastel, dürfte machbar sein oder?

          Kommentar


          • #6
            Leider wird aus ASC und DESC wenig ohne ein tüchtiges ORDER BY ... die Syntax solltest Du hier entnehmen können ... :

            http://dev.mysql.com/doc/mysql/en/UPDATE.html

            Die vorgehensweise hat Dir ja jochenj schon erklärt ... !
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              hm an das hab ich noch garnicht gedacht. also kann ich das Update direkt in die löschabfrage einbauen oder?

              ich meine so:

              $query="DELETE FROM news WHERE id=";
              $query.=$nid;
              $query.="ORDER BY id ASC LIMIT 1 AND UPDATE SET id=id-1 WHERE id>";
              $query.=$nid;

              geht das so?
              Zuletzt geändert von flyx; 25.11.2004, 08:21.

              Kommentar


              • #8
                Nein ... 2 Befehle wirst Du schon brauchen ... erst löschen ... dann updaten ... !

                Wichtig ist die Sortierung beim Update ...weil so sonst eventuell Primärschlüssel-Fehler bekommst ... !
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  also quasi so:

                  $query="DELETE FROM news WHERE id=";
                  $query.=$nid;
                  $query.="ORDER BY id ASC LIMIT 1";
                  $query2="UPDATE SET id=id-1 WHERE id>";
                  $query2.=$nid;
                  $zeiger=mysql_query($query,$query1);

                  würde das gehen und hab ich das jetzt dann richtig verstanden mit den Abfragen, weil so ähnlich hab ich das gehabt und es gieng nichts.

                  nal ne andere Frage noch:

                  wie mach ich automatische weiterleitungen und kommt mir net mit Header("Location:...); weil ich schon was am browser ausgeb.

                  Kommentar


                  • #10
                    Original geschrieben von flyx
                    würde das gehen
                    nein, natürlich nicht.

                    wenn mysql_query() mit zwei parametern gefüttert wird, dann will es sicher keine zwei querys übergeben bekommen.

                    wie mach ich automatische weiterleitungen und kommt mir net mit Header("Location:...); weil ich schon was am browser ausgeb.
                    na dann komm du uns bitte nicht mit solch einer frage (und noch dazu in dem tonfall), wenn du offenbar noch nicht mal gesucht hast bezüglich dieses themas.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      war ja nich so gemeint. Wollte damit nur ausdrücken, dass ich die sache mit dem header nicht machen kann, da ich am Browser schon was ausgebe, muss ja noch was anderes geben.

                      Dickes Sorry.

                      Aber ihr habt mir weitergeholfen. Dankeschön.

                      Kommentar

                      Lädt...
                      X