Ankündigung

Einklappen
Keine Ankündigung bisher.

If-Else Statement in While geht nicht

Einklappen

Neue Werbung 2019

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

  • If-Else Statement in While geht nicht

    Hallo liebe Forengemeinde,
    ich habe eine Datenbank mit "Produkten", Preisen etc. erstellt. Diese Daten werden über ein HTML Formular eingefügt. Nun möchte ich prüfen, ob ein Produkt schon in der Datenbank vorhanden ist oder nicht --> dabei soll es zwei Möglichkeiten geben:
    1. Das Produkt ist schon in der Datenbank --> Die Preise etc. werden abgeändert durch UPDATE
    2. Das Produkt ist noch nicht in der Datenbank --> es soll über ein INSERT Befehl eingefügt werden.

    Leider funktioniert das letzte ELSE Statement nicht und nach stundenlangen probieren verzweifle ich langsam .. Es wird nicht mal das ECHO ausgegeben.
    Das ELSE IF Statement funktioniert jedoch.

    Vielleicht sieht hier jemand meinen Fehler ?

    PHP-Code:
    while ($row=mysql_fetch_object($ergebnis))

        {
            
    $prodname $row->Produktname;
            
            
            if(empty(
    $_REQUEST['produktname']) || empty($_REQUEST['preis']) || empty($_REQUEST['bestand']) || empty($_REQUEST['sicherheitsbestand']))
            {
                
    // ES WIRD GEPRÜFT OB ALLE FELDER IM FORMULAR AUSGEFÜLLT SIND. SIND DIESE AUSGEFÜLLT GEHT ES IN DIE NÄCHSTE STUFE
            
    }
            
            
            else if(
    $prodname $produktname
            {
                echo 
    "Dieses Produkt gibt es schon in der Datenbank. Es wurde ueberschrieben.";
                
    $eintrag mysql_query("UPDATE  `usr_web197_1`.`sab` SET  `Bestand` =  '$bestand_dec' WHERE  `sab`.`Produktname` ='$produktname';");
                        
            }
            
            
            else
            
            {
                echo 
    "Das Produkt wurde erfolgreich in das Lager gebucht.";                
                
    $eintragen mysql_query("INSERT INTO sab (ID, Produktname, Preis, Bestand, Einzelsumme, Sicherheitsbestand) VALUES ('', '$produktname', '$preis_dec', '$bestand_dec','$einzelsumme','$sicherheitsbestand_dec' )");    
                        
            }
                    
                            
        } 

    Viele Grüße,
    Marcel

  • #2
    Ich denke INSERT REPLACE dürfte eine Möglichkeit sein...

    EDIT
    Blödsinn... INSERT mit ON DUPLICATE UPDATE macht mehr Sinn!
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Zitat von h1mz Beitrag anzeigen
      PHP-Code:
              else if($prodname $produktname
      Das ist eine Zuweisung, kein Vergleich.

      Abgesehen davon versteh ich den Sinn der ersten leeren if-Anweisung nicht. Da gibts keine nächste Stufe.

      Kommentar


      • #4
        Zitat von Arne Drews Beitrag anzeigen
        Ich denke INSERT REPLACE dürfte eine Möglichkeit sein...
        Aber dann müsste ja wenigstens das ECHO "Das Produkt wurde erfolgreich in das Lager gebucht."; ausgegeben werden oder?

        Kommentar


        • #5
          Ich hab mir die Abfrage gar nicht angesehen, weil das wie gesagt bereits auf Datenbank Ebene bewerkstelligt werden kann.
          Bitt meinen Edit aus #2 beachten!
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #6
            Zitat von Tropi Beitrag anzeigen
            Das ist eine Zuweisung, kein Vergleich.

            Abgesehen davon versteh ich den Sinn der ersten leeren if-Anweisung nicht. Da gibts keine nächste Stufe.
            Also das ELSE-IF Statement funktioniert. Jedoch die letzte ELSE Anweisung klappt nicht.

            Kommentar


            • #7
              So lange if($prodname = $produktname) true ist, wird das halt nicht ausgeführt. So einfach.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #8
                = ist was anders als ==(wurd auch schon gesagt)

                Kommentar


                • #9
                  Zitat von Yoshi- Beitrag anzeigen
                  = ist was anders als ==(wurd auch schon gesagt)
                  Das habe ich bereits abgeändert und trotzdem funktioniert es nicht

                  Kommentar

                  Lädt...
                  X