Ankündigung

Einklappen
Keine Ankündigung bisher.

Update durchführen wenn Variable nicht leer

Einklappen

Neue Werbung 2019

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

  • Update durchführen wenn Variable nicht leer

    Hallo zusammen
    Solange es in den keys 5-7 Daten drin hat, funktioniert der Code hier:
    PHP-Code:
    $sqlupdate "UPDATE dblist  
                  SET  
                      time_one='
    $key[5]'-time_zero,  
                      time_two='
    $key[6]'-time_zero, 
                      time_three='
    $key[7]'-time_zero 
             
                  WHERE   
                      ID='
    $key[1]'"
    Wenn es aber keine Daten in den keys hat, dann ergibt es eine Minuszeit, die ich nicht möchte.
    Wie kann ich abfangen, dass es das Update nur durchführt, wenn $key[5], resp6 oder 7 nicht leer ist?


  • #2
    Was ist der Inhalt deiner Vars? Hast du ev. mal ne fertige query mit einem Beispiel?
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Kennst du schon den netten Herr if() und seine Freunde isset() und empty()?
      Damit kann man Variablen überprüfen.
      Windows Server gehören NICHT ins Internet!

      Dildo? Dildo!

      Kommentar


      • #4
        ja klar. Aber das ist in diesem speziellen Fall ja nicht ganz so simpel, weil ich jede einzelne Variable mitten in einem UPDATE drin prüfen muss...
        Hat mir jemand einen Tipp, wie ich das reinbringe?
        Besten Dank für eure Hilfe!

        Kommentar


        • #5
          Zitat von wonder Beitrag anzeigen
          Aber das ist in diesem speziellen Fall ja nicht ganz so simpel
          Doch! Man muss nur mal nachdenken!
          PHP-Code:
          if (! empty($key[5]) || ! empty($key[6]) || ! empty($key[7]))
          {
              
          $sqlupdate "UPDATE dblist SET  ";

              
          $values = array();

              if (! empty(
          $key[5]))
                  
          $values[] = "time_one='$key[5]'-time_zero";

              if (! empty(
          $key[6]))
                  
          $values[] = "time_two='$key[6]'-time_zero";

              if (! empty(
          $key[7]))
                  
          $values[] = "time_three='$key[7]'-time_zero";


              
          $sqlupdate .= implode(","$values) . " where ID='$key[1]'";

          Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

          Kommentar


          • #6
            Aber das ist in diesem speziellen Fall ja nicht ganz so simpel, weil ich jede einzelne Variable mitten in einem UPDATE drin prüfen muss...
            Nein, Denkfehler... Du erstellst ja vorher mit PHP den String für die Query den du "später" dann erst an die DB schickst. Dh du kannst beim zussamenbau dieses Query-Strings alles mögliche berücksichtigen wie du willst. Und wenn alles berücksichtigt wurde und die query vollständig "zusammengebaut" wurde, erst dann wird die fertige Query an die DB geschickt.
            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              ok danke, ich versuchs.
              Vielen Dank für eure Hilfe!

              Kommentar

              Lädt...
              X