Variablenwerte werden falsch übergeben ?

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

  • Variablenwerte werden falsch übergeben ?

    Moin zusammen,
    bevor ich meinen Rechner aus'm Fenster schmeiße noch n Versuch die Sache vielleicht doch zu klären. Ich habe im Büro was aufm
    Windows Rechner progd und das ganze jetzt auf Linux übertragen.
    Dabei gehts um Bestellungen, die vom Kellner mittels PDA aufgenommen werden und über w-Lan an Tresen und Küche gesendet werden.
    Ich hab da eine Tabelle(tbl_bestellungen), in der die Bestellungen nach Tischen sortiert aufgelistet sind.
    Jetzt soll aber jeder Gast an jedem Tisch einzelne Getränke zahlen können! Also musste eine neue Tabelle(tbl_gast) her, in der dann die,
    dem Gast abzurechnenden Bestellungen extra aufgelistet werden.
    Das Problem: Wenn ich oben (tbl_bestellungen) ein getränk anklicke verschwindet es ordnungsgemäß und taucht unten in tbl_gast auf.
    Bis auf manchal ? da tauchen dann zwei unten auf !?!
    Mittendrin, ist das o.k. weil es werden auch oben zwei ausgetragen.
    Aber wenn es um den letzten vorhandenen Wert geht habe ich unten am ende einen mehr als oben überhaupt vorhanden waren ?!?
    Das Ganze agiert nach belieben! Also kein regelmäßiges Muster zu erkennen!
    Die Werte aus der Datenbank ($count1 und 2 habe ich eine Datei geschrieben und dort laufen die perfekt durch von 1 -n ohne Sprünge!
    Aber im Browser springt er eben doch ab und zu, von 2 auf 4. wie kommt das?
    Ach so, ich nutz den Konqueror. Hier noch die Codeschnippsel:
    (Habs nich geschafft, das ganze in euren PHP-tags zu formatieren ? Wie bekomme ich den da einen Zeilenumbruch hin?)
    Code:
    $query = "SELECT * FROM tbl_gast WHERE Bestell_ID = $_GET[Bestell_ID]
               AND TI_ID = $Tisch";			  
        $result = mysql_query($query)
     			or die ("Abfrage fehlgeschlagen, error code = ".mysql_error());
        $row = mysql_fetch_row($result);
          if($row !=0)                       //Wenn der Artikel da ist wird anzahl um eins erhöht
          {
            $count=$row[4];
            $count1=$count;                 // $row4=gespeicherte anzahl des Artikels
            $count++;		
    	$count2=$count;      
            $queryup = "Update tbl_gast SET Anzahl = $count WHERE Bestell_ID=$_GET[Bestell_ID]
                 AND TI_ID = $Tisch";        // Anzahl in der Tabelle wird erhöht              
            $resultup = mysql_query($queryup)
              or die ("Abfrage fehlgeschlagen, error code = ".mysql_error());
    Das ganze wird dann wahlweise einmal an die SESSION übergeben:
    Code:
    session_start();
    $_SESSION[zaehler1]=$count1;
    $_SESSION[zaehler2]=$count2;
    oder direkt angehängt:
    Code:
    src="Gast.php?Zahler1=$count1&Zaehler2=$count2"
    Aber egal wie, es kommen ab und an falsche Werte an? Hat irgendwer einen Tip für mich?
    Vielen Dank schon mal
    Das Leben ist kein Ponyhof.

  • #2
    hmm,

    nimm die variablen ausm string, nutze die verkettung per .
    mehr kann ich ohne php-tags und bessere fehlerbeschreibung nicht sagen ...

    zeilenumbrüche machst du mit der großen taste rechts auf dem alphanumerischen block deiner tastatur, direkt über der rechten shift-taste, unter der 'rück'-taste ... da ist ein symbol, daß die bewegung des cursors vom ende der zeile zum anfang, verbunden mit einem zeilenvorschub, beschreibt.

    wenn du sie nicht finden solltest, mach ich gern ein photo ...


    edit: hmm, dein code ist an manchen stellen recht sinnlos ... imho.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Das klappt net mit der großen Taste rechts!
      aber ich zeigs Dir wenn Du es nicht glaubst.(Habe das per Hand eingegeben und nicht copyt!
      PHP-Code:
      $query="SELECT * FROM tbl_gast WHERE Bestell_ID = $_GET
      [Bestell_ID] AND TI_ID = 
      $_GET[TI_ID];

      $result = mysql_query[$query)

              or ie ("
      Abfrage fehlgeschlagenerror code=".mysql_error()); 
      Bin jetzt einfach mal von der größten Taste die ich aufm Rechner habe ausgegangen (ENTER). Aber in der Vorschau hängt er mir wieder alles aneinander!?!
      Nochmal zu erklärung: Das script wird bei jedem Durchgang neu aufgerufen.
      Ich habe im Browser zwei Frames. Oben den Tisch und unten den Gast. Wenn ich oben was anklicke solls verschwinden und unten auftauchen! Klappt auch, aber leider nicht immer.
      Fehlermeldung gibts keine! Weil läuft ja durch. Aber unten habe ich auf einmal 4 Cola obwohl oben nur drei drin waren! und das immer öffter.
      Ich check das jetzt erstmal mit dem . im String, wobei ich habs ja auch über die SESSION versucht und das klappt auch nicht immer.
      Trotzdem Danke
      Zuletzt geändert von Abraxax; 13.08.2004, 17:11.
      Das Leben ist kein Ponyhof.

      Kommentar


      • #4
        Was meinst Du mit sinnlos? Die Aktion oder den Code?
        Gib mir mal nen Tip wie's besser geht.
        Ich hab da Zeilen weggelassen, weil ich wollte das Forum hier nicht sprengen und das evtl. das Ganze auch jemand liest.
        Und ich lese mir keine zweiseitigen scripte im Forum durch.
        Alles was ich sagen kann, ist das es eigentlich nicht an den Datenbankabfragen liegen kann! Die habe ich überprüft.
        PHP-Code:
        $count=$row[4];


            
        $handle fopen('/srv/files/log-datei','a');

            
        fwrite($handle,$count,strlen('$count'));

            
        fclose($handle); 
        und in meiner log-datei stehen alle WERTE korrekt drin. Bis auf einen mehr am Ende. Und da bin ich auch bald. (Feierabend) Geht dann später zu Hause weiter.
        Und das mit der Taste funktioniert leider immer noch nicht!
        Tschüß und Danke bis später
        Zuletzt geändert von Abraxax; 13.08.2004, 17:11.
        Das Leben ist kein Ponyhof.

        Kommentar


        • #5
          @Wendel
          schreibst du alle scripte in einer zeile ohne umbruch?
          hast du wirklich so einen breiten monitor?
          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
            PHP-Code:
            $count=$row[4];
            $handle fopen('/srv/files/log-datei','a');
            fwrite($handle,$count,strlen('$count'));
            fclose($handle); 
            test? bei mir gehts ...

            @Abraxax: er versuchts doch ... irgendwie? quote ihn mal ... sieht zumindest so aus ...
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              ich habe jetzt einfach mal so umbegochen ... ;-)
              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