Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Tabellen einfügen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Tabellen einfügen

    Hallo
    ich habe ein Problem. Ich habe eine mySQl Tabelle wo in jeder Spalte 1000 Werte drin stehen. Wenn es neuer Monat kommt, wird dieses Tabelle um 1 Spalte erweitert. Wenn ich jetzt die Werte einfügen will, bringt er mir bis zum Spaltenede der bestehenden Tabellen Nullen ( 0 ) und fängt dann mit den Werten an. Wie kann ich das verhindern bzw das ganze so gestalltzen, dass ich bei einer neuen Spalte die Werte ab dem Anfang eingesetzt werden
    PHP-Code:
    $date=20091026;


    echo 
    $date;
    mysql_query("CREATE TABLE `".$date."` (`Zahl` int(5) NOT NULL);");
    //mysql_query("CREATE TABLE 'test`(Zahl int(4) NOT NULL);");
    mysql_error();

    $sql "SELECT * FROM `update` ";
    $res mysql_query($sql) or die(mysql_error());

    while (
    $row mysql_fetch_assoc($res)){


    $eintrag "INSERT INTO `".$date."`( `Zahl` ) VALUES ('".$row["Zertificate"]."') "  ;
    $eintragen mysql_query($eintrag);
    mysql_error();
    }

    $eintrag "INSERT INTO `Datum`( `Date` ) VALUES ('".$date."') "  ;
    $eintragen mysql_query($eintrag);


    $sql5 "SELECT zahl FROM `zahl` ";
    $res5 mysql_query($sql5) or die(mysql_error());

    while (
    $row5 mysql_fetch_assoc($res5)){

          
    $sql2 "SELECT * FROM `".$date."` WHERE (`Zahl` like '".$row5["Zahl"]."')  ";
          
    $res2 mysql_query($sql2) or die(mysql_error());
          
    $row2 mysql_fetch_assoc($res2);

    if (
    $row5["Zahl"] == $row2["Zahl"]) {
    $eintrag "INSERT INTO `uebersicht`( `".$date."` ) VALUES ('".$row2["Zahl"]."')    "  ;
    $eintragen mysql_query($eintrag);
    }

    elseif (
    $row5["Zahl"] <> $row2["Zahl"]) {
    $eintrag "INSERT INTO `uebersicht`( `".$date."` ) VALUES ('0')   "  ;
    $eintragen mysql_query($eintrag);
    }



    }
    $sql200 =("DELETE  FROM   `update` ");
    mysql_query($sql200);
    ?> 


  • #2
    Normalisier mal die Datenbank: http://de.wikipedia.org/wiki/Normali...28Datenbank%29

    Gruß
    http://hallophp.de

    Kommentar


    • #3
      Hi,

      ich glaube du solltest mal dein Tabellen Design überarbeiten.

      http://de.wikipedia.org/wiki/Normali...28Datenbank%29

      EDIT: das find ich jez intressant...^^

      Kommentar


      • #4
        Zitat von ketchup Beitrag anzeigen
        Wenn es neuer Monat kommt, wird dieses Tabelle um 1 Spalte erweitert.
        Das klingt nach einem kapitalen Designfehler.

        Kommentar


        • #5
          Ich seh' in deinem Code nirgendwo, dass eine Spalte eingefügt wird...

          ...warum machst du das eigentlich so umständlich? Jeden Monat eine zusätzliche Zeile wär' doch einfacher, oder?

          Kommentar


          • #6
            Zitat von DarkWarrior Beitrag anzeigen
            ...warum machst du das eigentlich so umständlich? Jeden Monat eine zusätzliche Zeile wär' doch einfacher, oder?
            Hat meiner Meinung auch keinen Sinn.

            Am einfachsten wäre meiner Meinung nach einfach eine Tabelle mit 2 Spalten (`datum`, `zahl`)

            Oder 2 Tabellen (`id`, `datum`) ... (`id`,`zahl`).
            Lässt sich einfacher erweitern.

            Kommentar


            • #7
              na ja wenn ich pro Monat eine Zeile mache dann ist das blöd weil das Ding danach in Excel exportiert werden soll und da soll oben in der ersten Zeile das Datum stehen.

              Kommentar


              • #8
                Zitat von ketchup Beitrag anzeigen
                na ja wenn ich pro Monat eine Zeile mache dann ist das blöd weil das Ding danach in Excel exportiert werden soll und da soll oben in der ersten Zeile das Datum stehen.
                Das wäre dann am einfachsten, wenn du das ganze dann beim exportieren "sortierst", aber für jeden Monat eine neue Tabelle zu erstellen is sinnlos.

                Kommentar


                • #9
                  Dann schreibe dir für den Export ein Script, das die Daten in der gewünschten Form aufbereitet.

                  Sich nur mit dem Blick auf Excel eine komplett schrottige Tabellen-Struktur in der Datenbank anzutun, ist kollossaler Unfug.

                  Kommentar


                  • #10
                    Dann schreibe dir für den Export ein Script, das die Daten in der gewünschten Form aufbereitet.
                    Sich nur mit dem Blick auf Excel eine komplett schrottige Tabellen-Struktur in der Datenbank anzutun, ist kollossaler Unfug.
                    Irgendwie kommt jede Antwort in irgendeiner weise doppelt vor.

                    http://www.phpclasses.org/package/20...ML-format.html

                    sollte dir weiterhelfen

                    Kommentar

                    Lädt...
                    X