Rechnung stornieren, Daten zurückbuchen

Jetzt habe ich dieses aus dem script entfernt.

PHP:
  $zurueck_buchen = "UPDATE bm_versionen
                   SET
                       abgang = abgang - $of['menge']
                   WHERE
                       art_nr = $of['art_nr']
                       ";
                       mysql_query($zurueck_buchen);



und

PHP:
echo $storno_rechnungen;

Ergebnis:

Resource id #3
 
Jaaa, weil das ein ResultSet ist, das kann man nicht einfach mit echo ausgeben.
Ich hätte den SELECT lesen wollen, der da zusammengebaut wird.

Aber zumindest hast du mir jetzt schon mal (unfreiwillig? :) ) verraten, dass die POST-Variable ganz am Anfang gefüllt ist.

Jetzt wäre die nächste Frage, ob im dem Resultset auch tatsächlich was drinsteht.

Was kommt denn da raus?

PHP:
echo mysql_num_rows($zurueck_buchen);
 
Wie wäre es denn wenn Du bei solchen Fehlern (und deiner vermutung das es am Browser liegt) einfahc mal auf den INternet Explorer oder so umsteigst? evtl sind die weißen Seiten dann ja weider BUNT ;D ? Dann kannst Du zumindest Ausschliesen ob es am Browser oder an deinem Code liegt.
 
Das ist so'n richtig schönes Kamikaze Script, die POST Variablen direkt in den SQL Query schreiben. Mach dich auf jeden Fall mal schlau bzgl MySQL Injection etc.

Ich würd das Script bei so Sachen wie Abrechnung auch in 'ne Transaktion packen, sonst haste da nachher 'ne halbe Rechnung storniert. Dein eigenliches Problem hab ich aber auch nicht verstanden. :confused:
var_dump() ist dein Freund...
 
also
habe den IE Browser ausprobiert der zeigt auch nur eine weiße Seite.

Kann echo mysql_num_rows($zurueck_buchen);
nicht ausführen da nur eine leere Seite in Browser angezeigt wird.

Hier drinnen müßte der Fehler liegen

PHP:
  $zurueck_buchen = "UPDATE bm_versionen
                   SET
                       abgang = abgang - $of['menge']
                   WHERE
                       art_nr = $of['art_nr']
                       ";
                       mysql_query($zurueck_buchen);
 
Jetzt bist du nicht nur undeutlich, jetzt fängst du auch noch an dir selbst zu widersprechen...

Ergebnis:

Resource id #3

Waren wir nicht schon mal so weit, dass da nix mehr weiß ist? ?

Und hast du mein Post schon mal ausgeführt?
Schreib mal ganz oben in dein Skript folgendes:


PHP-Code:
echo "Test, geht hier überhaupt was?";
echo ">".$_POST["storno"]."<";

Was kommt da raus?
 
Ich widerspreche mich nicht!!

Ich habe folgendes gemacht.
Hier zeigen die Browser firefox und der IE eine LEERE Seite an.

PHP:
echo "Test, geht hier überhaupt was?";
echo ">".$_POST["storno"]."<";

if ($_POST["storno"])

{
   foreach ($_POST["storno"] as $key => $val1)
        {
        $liefers1  = "UPDATE lieferschein
                      SET storno = '$datum'
                      WHERE lf_id = $val1
                     ";
                     mysql_query($liefers1);
                     }

  $storno_rechnungen = mysql_query("
                         SELECT
                              *
                         FROM
                               rechnung
                         WHERE
                               rechnungsnr =$val1
                         ");

                     while($of = mysql_fetch_assoc($storno_rechnungen)){}


  $zurueck_buchen = "UPDATE bm_versionen
                   SET
                       abgang = abgang - $of['menge']
                   WHERE
                       art_nr = $of['art_nr']
                       ";
                       mysql_query($zurueck_buchen);

}


Hier habe ich den letzten Teil ab " $zurueck_buchen ... heraus genommen

PHP:
echo "Test, geht hier überhaupt was?";
echo ">".$_POST["storno"]."<";

if ($_POST["storno"])

{
   foreach ($_POST["storno"] as $key => $val1)
        {
        $liefers1  = "UPDATE lieferschein
                      SET storno = '$datum'
                      WHERE lf_id = $val1
                     ";
                     mysql_query($liefers1);
                     }

  $storno_rechnungen = mysql_query("
                         SELECT
                              *
                         FROM
                               rechnung
                         WHERE
                               rechnungsnr =$val1
                         ");

                     while($of = mysql_fetch_assoc($storno_rechnungen)){}


  $zurueck_buchen = "UPDATE bm_versionen
                   SET
                       abgang = abgang - $of['menge']
                   WHERE
                       art_nr = $of['art_nr']
                       ";
                       mysql_query($zurueck_buchen);

}

Anzeige in beiden Browsern

PHP:
Test, geht hier überhaupt was?>Array<

Was ich nicht verstehe es wurden mir immer die Fehler angezeigt wenn ich einen gemacht habe nur seit ca. 1 ner Woche bekomme ich immer eine leere Seite gezeigt.
 
Das kann unter Umständen daran liegen, dass sich dein Skript in einer Endlosschleife befindet und dadurch die Ausführung nach einiger Zeit vom Server abgebrochen wird.
Dann bekommt man aber im Normalfall einen Fehler!

Dreht sich bei dir im Firefox da oben dieses lustige Kringelchen noch während du eine weiße Seite hast oder nicht?
Füge weitere Kontroll-Echos ein, damit du rausfindest, bis wohin das Skript problemlos arbeitet, und ab wann sich ein fehlerhaftes Verhalten zeigt.
 
Da dreht sich nichts.

Das Script funktioniert perfekt.

Wenn ich aber dieses hier einfüge:

PHP:
  $zurueck_buchen = "UPDATE bm_versionen
                   SET
                       abgang = abgang - $of['menge']
                   WHERE
                       art_nr = $of['art_nr']
                       ";
                       mysql_query($zurueck_buchen);

Sehe ich nur noch weiß.


Ich habe mir den Inhalt ausgeben lassen der stimmt auch.

PHP:
  $storno_rechnungen = mysql_query("
                         SELECT
                              *
                         FROM
                               rechnung
                         WHERE
                               rechnungsnr =$val1
                         ");

                     while($of = mysql_fetch_assoc($storno_rechnungen)){}

gg
 
Zurück