if ist true... was nun?

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

  • if ist true... was nun?

    hallo,
    Habe ein echt nerviges Problem was mir zukunftorientiert meine Planungen kaputt macht!
    Wie mach ich das in php?

    Ich habe eine form...

    dann eine if schleife und zwar:

    PHP-Code:
    if ($monat == "2"){

    SQL="irgendwas";
      
        }

    SQL "irgenwas2"

    ...
    ...
    ... 
    ich will nun, wenn die if schleife beginnt, das der SQL code innerhalb der if schleife den SQL code ausserhalb der if schleife ersetzt! was heisst ersetzt, sich darin eine der WHERE Teil ändert! also ab da trifft ein neues Kriterium zu!
    ich versteh das bei Gott nicht! hoffe jemand hat da ein Tip oder erklärt mir den fehler, Aufbau... keine Ahnung wie ich das hinbekomme... dnake und greez dutt
    MfG dutt

  • #2
    ist im If-Block DB-Operationen durchgeführt und Daten ausgelesen, die das
    folgende SQL-Stament beeinflusst, oder nur den SQL-String verändert ?

    Kommentar


    • #3
      strings verbindet man mit .

      den WHERE-teil kannst du also auch nachträglich "anbauen"
      PHP-Code:
      $sql 'SELECT * FROM tabelle ';
      if (
      $gesucht)
        
      $where 'WHERE rtfm = 0';
      else
        
      $where 'WHERE rtfm = 1';

      $sql .= $where
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        mrhappy wie schaut das denn mit den geschweiften klammern aus? also nur wenn der if zweig zutrifft (Monat="2") dann soll der unter dem if block stehende SQL verändert werden!

        so siehts bei mir aus!

        PHP-Code:
              if ($monat == "2"){

               
        $id2 "$_POST[suchen1]";

               
        $sql "SELECT ISTUNDEN.DATUM, MITARBEITER.PERSONAL_NR, 
        ISTUNDEN.ANFANGSZEIT, ISTUNDEN.ENDEZEIT, ISTUNDEN.PAUSE, 
        ISTUNDEN.KURZTEXT, ISTUNDEN.KENNZEICHEN, 
        MONTHNAME(DATUM) AS AKMONAT
                        FROM ISTUNDEN RIGHT JOIN MITARBEITER ON 
        ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR
                        WHERE ((MITARBEITER.PERSONAL_NR ='
        $id2') AND
                        (MONTHNAME(DATUM) =
                        'March'))"
        ;
                        

            }

                
        $sql "SELECT ISTUNDEN.DATUM, MITARBEITER.PERSONAL_NR, 
        ISTUNDEN.ANFANGSZEIT, ISTUNDEN.ENDEZEIT, ISTUNDEN.PAUSE, 
        ISTUNDEN.KURZTEXT, ISTUNDEN.KENNZEICHEN,
         MONTHNAME(DATUM) AS AKMONAT
                        FROM ISTUNDEN RIGHT JOIN MITARBEITER ON 
        ISTUNDEN.PERSONAL_NR = MITARBEITER.PERSONAL_NR
                        WHERE ((MITARBEITER.PERSONAL_NR ='
        $id2') AND
                        (MONTHNAME(DATUM) =
                        MONTHNAME(NOW())))"

        erklärung:
        der darunter liegende SQL wird beim laden standardmäßig angezeigt. Nur wenn die If Schleife zutrifft soll dieser verändert werden! Es folgen dann noch 2 if schleifen
        if ($monat == "1")
        if ($monat == "3")
        und jedesmal soll der eine WHERE Teil ersetzt werden! --> MONTHNAME(NOW())

        muss ich mein ding ggf. umprogrammieren? oder ist das so eigentlich richtig?

        EDIT:
        umbrüche by Abraxax, der keinen bock hat extreme-scrolling zu betreiben.
        MfG dutt

        Kommentar


        • #5
          was genau willst du denn eigentlich machen?

          hättest du nicht eigentlich grundlagen lernen wollen?!
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            warum definierst du die standard-query denn nicht einfach vor der abfrage - und wenn die if-bedingung zutrifft, dann überschreibst du darin halt einfach $sql wieder.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              OffTopic:
              ich weiß, was für ne frage jetzt kommt...
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                mann, ist das denn so schwer, @happy konstruk umzusetzen?

                so:
                PHP-Code:
                $myMonth "MONTHNAME(NOW())"//default

                if (...)
                   
                $myMonth="'blabla'";
                $sql " select ..... where .... ((MITARBEITER.PERSONAL_NR ='$id2') AND
                                (MONTHNAME(DATUM) = 
                $myMonth))"
                EDIT:
                jetzt frag aber nicht, wie mans mit mehreren if bzw. switch macht, dann gibts
                Zuletzt geändert von asp2php; 29.04.2004, 14:00.

                Kommentar


                • #9
                  Original geschrieben von asp2php
                  mann, ist das denn so schwer, @happy konstruk umzusetzen?
                  OffTopic:
                  wenn man von logik so viel versteht wie ein schwein vom fliegen ...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Original geschrieben von mrhappiness
                    was genau willst du denn eigentlich machen?
                    ich will die 2. SQL querry abhängig vom if block machen! Also den where teil!
                    MfG dutt

                    Kommentar


                    • #11
                      OffTopic:
                      können sie doch auch, aber nicht so weit, sonst fallen sie runter von der erde
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Original geschrieben von dutt
                        ich will die 2. SQL querry abhängig vom if block machen! Also den where teil!
                        was denn jetzt?

                        OffTopic:
                        wenn das so weitergeht brauch keinen kaffee mehr den ganzen tag über sondern eher ne neue tastatur...
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          ok jungs danke, aber ich habs !
                          ich setzte einfach die IF schleife hinter den standard SQL!
                          MfG dutt

                          Kommentar


                          • #14
                            kommt heut' bloss nicht wieder ....

                            Kommentar

                            Lädt...
                            X