Variable als Spaltenname

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

  • Variable als Spaltenname

    Moin Moin,
    ich habe da ein kleines Prob und hoffe es findet sich jemand, der mir Helfen kann.
    Ich habe eine Urlaubsplanung mit PHP Porgrammiert die die Daten in einer MySql Datenbank speichert.
    Die Datenbank heißt Urlaubsplanung die Spalten heißen
    Name, Vorname...A1,A2,A3...A365
    Die Spalten A1..A365 sind die einzelnen Tage in denen wird der Status der Abwesenheit reingeschrieben.
    Jetzt zu dem Problem. Wenn ich Urlaub eintragen möchte muss ich über
    mehrere Spalten "wandern" z.b. A1..A15.

    for ($i=$anfang;$i<=$ende;$i++)
    {
    $result = mysql_query ("Update urlaubsplanung
    SET [COLOR=red]????[/COLOR] = \"$auswahl\"
    WHERE
    Vorname= \"$Vorname\" AND
    Name= \"$Nachname\" AND
    ", $db);
    }

    jetzt brauche ich anstelle der ???? eine Variable ('a'.$i) kann mir jemand sagen wie das funktioniert ??????

  • #2
    Re: Variable als Spaltenname

    Original geschrieben von wicht
    jetzt brauche ich anstelle der ???? eine Variable ('a'.$i) kann mir jemand sagen wie das funktioniert ??????
    du warst schon nahe dran..

    das nennt man variable variablen.... und geht in deinem fall so....

    ${'a'.$i}



    aber um noch genauer zu sein..... ist das auch käse....

    PHP-Code:
    $sql "UPDATE  urlaubsplanung
            SET     A"
    .$i." = '".$auswahl."'
            WHERE   Vorname = '"
    .$Vorname."' AND
                    Name    = '"
    .$Nachname."'";
    $res mysql_query($sql) or die(mysql_error()); 
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      woh das ging schnell,
      es klappt auch vielen vielen Dank...

      Gruß der Wicht

      Kommentar


      • #4
        wie hast du es jetzt gemacht?

        so wie ich das sehe, kann/MUSS man noch optimieren.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          so hast du nciht für jeden feld einen UPDATE, sondern machst alle updates in einem rutsch. das ist besser für die DB
          PHP-Code:

          $sqlext 
          = array();
          for (
          $i=$anfang;$i<=$ende;$i++)
          {
              
          $sqlext[] = "A".$i." = '".$auswahl."'";
          }

          if (
          count($sqlext)>0)
          {
              
          $sql "UPDATE  urlaubsplanung
                      SET     "
          .implode(','$sqlext)."
                      WHERE   Vorname = '"
          .$Vorname."' AND
                              Name    = '"
          .$Nachname."'";
              
          $res mysql_query($sql) or die(mysql_error());

          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            mit der Version SET A".$i." ....muss aber nicht optimiert werden hauptsache das läuft..

            Kommentar


            • #7
              nicht hauptsache es läuft.... wenn du das nicht optimierst, wie ich es geschriebene habe, machst du 14 update für einen urlaub von 14 tagen.

              und das kannst du mit einmal machen... s.o.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                wow.. vielen Dank, Du hattest recht die Optimierung muste sein.

                Kommentar


                • #9
                  geht schon viel schneller .... wa?
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar

                  Lädt...
                  X