IF ELSE Abfrage, wo ist der Fehler (heul)

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

  • IF ELSE Abfrage, wo ist der Fehler (heul)

    Ich komme einfach nicht weiter, irgend was ist falsch, weiß aber nicht was.

    Ich Poste euch mal den Code:
    Code:
    if ($gesendet)
    {
    $db = mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw") or die (mysql_error());
    mysql_select_db("$MySQL_Data");
    $res = mysql_query("SELECT * FROM $korb where SessionID='$F1'") or die (mysql_error());
    $num = mysql_num_rows($res);
    
    for ($i=0; $i<$num; $i++)
    {    
    $VAnr = mysql_result($res, $i, "ArtikelNR");
    $VMe  = mysql_result($res, $i, "Menge");
    
    
    if ('$VAnr'=='$F2')
    {
    $NF5 = "$VMe+$F5";
    
    $db = mysql_connect("$MySQL_Host", "$MySQL_User", "$MySQL_Passw");
    $sqlab = "update $korb where SessionID='$F1' and ArtikelNR='$F2' ( ArtikelName, Preis, Menge, datum) 
    values ('$F3', '$F4', '$NF5', '$tag')";
    
    mysql_db_query("$MySQL_Data", $sqlab);
    mysql_close($db);
    }
    else
    {
    $db = mysql_connect("$MySQL_Host", "$MySQL_User", "$MySQL_Passw");
    $sqlab = "insert $korb (SessionID, ArtikelNR, ArtikelName, Preis, Menge, datum) 
    values ('$F1', '$F2', '$F3', '$F4', '$F5', '$tag')";
    
    mysql_db_query("$MySQL_Data", $sqlab);
    mysql_close($db);
    }
    }
    }
    Wer kann mir helfen, durch die offne Tür zugehen, weil ich sehe sie nicht.

    Es soll folgendes herhauskommen:
    Aus der Artikelseite soll ein Artikel in den Warenkorb gelegt werde. Jetzt soll aber das Script prüfen ob sich schon der Artikel in Korb befindet, wenn sich der Artikel in Warenkorb befindet, soll die Menge erhöht werden, wenn nicht soll der Artikel eingetragen werde.

    Bitte Bitte Hilfe
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    if ('$VAnr'=='$F2') schaut ulkig aus probiers mal mit if ($VAnr == $F2)

    $NF5 = "$VMe+$F5"; schaut auch ulkig aus probiers mal $NF5 = $VMe + $F5;

    [Editiert von hand am 29-01-2002 um 19:15]

    Kommentar


    • #3
      Das wars nicht.

      Durch den header aufruf sagt mir das nächste Script, das der Warenkorb leer ist, ist er auch laut PHPMyAdmin.

      Es ist irgend wo in der IF -> Else Sachen ein Fehler. Er trägt mir ja noch nicht mal einen Artikel ein.

      Edit
      Habe mal den header auskommentiert.
      Nun kommt eine leere Seite. Ganz leer ohne Quelltext.
      /Edit

      [Editiert von Wotan am 29-01-2002 um 19:23]
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        Hast das mit
        $NF5 = $VMe + $F5;
        auch gechecked? (Hab ich ja 3 Minuten später nacheditiert)

        Kommentar


        • #5
          Ja, siehe letzten Kommentar
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            Soferne die Felder Preis und Menge keine Character Felder sein sollten so sind die Hochkommata wegzulassen:

            $sqlab = "update $korb where SessionID='$F1' and ArtikelNR='$F2' ( ArtikelName, Preis, Menge, datum)
            values ('$F3', $F4, $NF5, '$tag')";

            Kommentar


            • #7
              Habe beim update alles weggenommen ausser Menge ($NF5) und trotzdem bleibt die Tabelle/Warenkorb leer.

              Edit
              habe es jetzt mal so gemacht:
              Code:
              if ($VAnr==$F2)
              {
              $NF5 = $VMe+$F5;
              print "$NF5 = NF5<br>";
              print "$VMe = VMe<br>";
              print "$F5 = F5";
              
              $db = mysql_connect("$MySQL_Host", "$MySQL_User", "$MySQL_Passw");
              $sqlab = "update $korb where SessionID='$F1' and ArtikelNR='$F2' (Menge) values ('$NF5')";
              es gibt aber keine Ausgabe der Prints
              /Edit

              [Editiert von Wotan am 29-01-2002 um 19:46]
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                PHP-Code:
                if ($gesendet) {
                    
                $db mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw") or die (mysql_error());
                    
                mysql_select_db("$MySQL_Data");
                    
                $res mysql_query("SELECT * FROM $korb where SessionID='$F1'"$db) or die (mysql_error());
                    while (
                $row mysql_fetch_assoc($res)) {
                        print 
                "F2:$F2 ArtikelNR:$row[ArtikelNR]<br>";
                        if (
                $row[ArtikelNR] == $F2) { 
                            
                $NF5 $row[Menge] + $F5
                            
                $sqlab "update $korb where SessionID='$F1' and ArtikelNR='$F2' ( ArtikelName, Preis, Menge, datum) values ('$F3', '$F4', '$NF5', '$tag')"
                        } else { 
                            
                $sqlab "insert $korb (SessionID, ArtikelNR, ArtikelName, Preis, Menge, datum) values ('$F1', '$F2', '$F3', '$F4', '$F5', '$tag')"
                        }
                        
                mysql_db_query("$MySQL_Data"$sqlab); 
                        
                mysql_close($db);
                    } 

                Schade, daß das nicht so schön strukturiert ausgegeben wird.

                [Editiert von hand am 29-01-2002 um 19:56]

                Kommentar


                • #9
                  Jetzt komt zwar kein leerer Bildschirm mehr, aber er macht auch das update nicht.

                  habe mal die Zeile geändert:
                  $sqlab = "update $korb where SessionID='$F1' and ArtikelNR='$F2' (Menge) values ('$NF5')";
                  jetzt kommt die Fehlermeldung:
                  Warning: 1 is not a valid MySQL-Link resource in c:\apache\htdocs\sound\text\input.php on line 18

                  Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\sound\text\input.php:18) in c:\apache\htdocs\sound\text\input.php on line 23


                  Zeile 18 ist:
                  mysql_close($db);

                  und zeile 23 ist:
                  header("Location: warenkorb.php");
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    "update $korb set Menge = '$NF5' where SessionID='$F1' and ArtikelNR='$F2'";

                    Kommentar


                    • #11
                      Jetzt kommt die Fehlermeldung:

                      F2:sound1 ArtikelNR:versand
                      F2:sound1 ArtikelNR:sound1

                      Warning: 1 is not a valid MySQL-Link resource in c:\apache\htdocs\sound\text\input.php on line 18


                      Und das komische ist das ich jetzt den Artikel zwei mal in der tabelle Korb habe mit je 4x Menge. Ich habe den Artikel mit 1x eingetragen und habe dann das Update versucht mit 3x und habe jetzt den Artikel zweimal in korb mit je 4x.
                      ????????????
                      *winks*
                      Gilbert
                      ------------------------------------------------
                      Hilfe für eine Vielzahl von Problemen!!!
                      http://www.1st-rootserver.de/

                      Kommentar


                      • #12
                        Gut die fehlermeldung bin ich los, aber er macht immer noch Ein Update und ein Insert gleichzeitig und macht beim insert gleich eine erhöhung der Menge beim Insert.
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          Poste bitte das Skript damit ich die letzten Änderungen habe.

                          Kommentar


                          • #14
                            Hier
                            Code:
                            <?php
                            include("../inc/db_data.inc.php");
                            if ($gesendet) { 
                            
                            $db = mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw") or die (mysql_error()); 
                            mysql_select_db("$MySQL_Data"); 
                            $res = mysql_query("SELECT * FROM $korb where SessionID='$F1'") or die (mysql_error()); 
                            $num = mysql_num_rows($res); 
                            
                            while ($row = mysql_fetch_array($res)) { 
                            if ($row[ArtikelNR] == $F2)
                            {
                            $NF5 = $row[Menge] + $F5; 
                            
                            $sqlab = "update $korb set Menge = '$NF5' where SessionID='$F1' and ArtikelNR='$F2'"; 
                            
                            }
                            else
                            { 
                            $sqlab = "insert $korb (SessionID, ArtikelNR, ArtikelName, Preis, Menge, datum)
                             values ('$F1', '$F2', '$F3', '$F4', '$F5', '$tag')"; 
                            
                            } 
                            mysql_db_query("$MySQL_Data", $sqlab); 
                            } 
                            } 
                            header("Location: warenkorb.php");
                            ?>
                            *winks*
                            Gilbert
                            ------------------------------------------------
                            Hilfe für eine Vielzahl von Problemen!!!
                            http://www.1st-rootserver.de/

                            Kommentar


                            • #15
                              Muß ich nicht verstehen!!!!

                              Ist ein Artikel mit der SessionID in der Datenbank kann man Weitere Artikel in den Korb legen. Ist der Korb komplett leer und will einen Artikel in den Korb legen geht es wieder nicht. Ist ein Artikel in der Datenbank der Upgedatet werden soll macht er gleich einen neuen Artikel mit der zu updatenen Menge daraus.

                              Jetzt verstehe ich garnichts mehr........
                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Kommentar

                              Lädt...
                              X