Vergleich mit Zeile davor
Einklappen
X
-
das stand aber so quasi 1:1 in dem Pseudocode von Amica drin .. und in meinem Text 2 Beiträge zuvor, wenn auch im Pseudocode besser erkennbar .. obendrein hat wahsaga dir auch noch ne "Übersetzung" für den Pseudocode geliefert ....
-
danke für die Antwort... ich möchte ja kein kompletten oder vollständigen Code haben, sondern anhand eines Beispieles...
Ich wusste einfach nicht wo ich den Vergleichswert in stopfe... und wie der dann weiter rückt....
Thx
Einen Kommentar schreiben:
-
also langsam reicht es wirklich - ich wundere mich die ganze Zeit , warum wahsaga noch die Samthandschuhe anhat - mich hat er für weniger eine Woche kaltgestellt.. aber zurück zum Thema
du hast in deinem Script mit an Sicherheit grenzender Wahrscheinlichkeit eine Zeile wie
PHP-Code:while ($row=mysql_fetch_object / array / assoc( $resultset) ) {
PHP-Code:$oldrow=mysql_fetch_assoc($resultset);
while ($newrow=mysql_fetch_assoc($resultset)) {
// jetzt kannst du deine Differenz-Beträge ausrechnen
$diff=$oldrow['feld1']-$newrow('feld1'];
// und nun gibst du aus
echo '<tr>';
echo '<td>'.$oldrow['feld1'].'</td>';
echo '<td>'.$oldrow['feld2'].'</td>';
echo '<td>'.$diff.'</td>';
echo '</tr>';
// nun noch die neue Zeile kopieren
$oldrow=$newrow;
}
und dann sei ehrlich - war das soo schwer?
Einen Kommentar schreiben:
-
Zitat von Nirus2000 Beitrag anzeigenIch versuche es ja, aber genau das ist ja mein Problem.
Durch die MySql-Sortierung DESC liefert er mir ja das Ergebnis von oben nach unten, also den letzten Wert der Abfrage als Erstes und bei ASC ja eben umgedreht.
Mir fällt einfach nicht ein, wie ich den zu vergleichenden Wert vor der While-Schleife hole.
Einen Kommentar schreiben:
-
du brauchst mich hier nicht als doof hin zu stellen Mr. Superhirn und meine Sätze permanent zu zitieren..
Was ist an dem SATZ
"Mir fällt einfach nicht ein, wie ich den zu vergleichenden Wert vor der While-Schleife hole."
nicht zu verstehen.... !!!!!!!!!!!!
WENN ICH NICHT WEIß WIE DANN WEIß ICH ES AUCH NICHT! UND AN DEM PSEUDOCODE STEH ICH GENAU SO DAVOR WIE VORHER... DA ICH NICHTS DAMIT ANFANGEN KANN, WEIL ICH ES NICHT VERSTEH UND NICHT WEIß WIE. NOCH DEUTLICHER GEHT ES NICHT !!!!!
Einen Kommentar schreiben:
-
Zitat von Nirus2000 Beitrag anzeigenDurch die MySql-Sortierung DESC liefert er mir ja das Ergebnis von oben nach unten, also den letzten Wert der Abfrage als Erstes und bei ASC ja eben umgedreht.
Mir fällt einfach nicht ein, wie ich den zu vergleichenden Wert vor der While-Schleife hole.
Davon, dass du wirklich mitdenkst, merkt man hier bisher herzlich wenig
Einen Kommentar schreiben:
-
Zitat von wahsaga Beitrag anzeigenMit wert_abrufen() ist in diesem Pseudocode natürlich das Holen des nächsten Datensatzes aus dem Abfrageergebnis gemeint - also die Anwendung einer der mysql_fetch-Funktionen.
Ein bisschen musst du schon logisch mitdenken (können), wenn du sowas mit Tipps von uns umsetzen willst.
Durch die MySql-Sortierung DESC liefert er mir ja das Ergebnis von oben nach unten, also den letzten Wert der Abfrage als Erstes und bei ASC ja eben umgedreht.
Mir fällt einfach nicht ein, wie ich den zu vergleichenden Wert vor der While-Schleife hole.
Einen Kommentar schreiben:
-
Zitat von Nirus2000 Beitrag anzeigenwie soll ich den den Vergleichswert aufrufen
Ein bisschen musst du schon logisch mitdenken (können), wenn du sowas mit Tipps von uns umsetzen willst.
Einen Kommentar schreiben:
-
bei mir macht es einfach nicht klick....wie soll ich den den Vergleichswert aufrufen und dann vergleichen?
Einen Kommentar schreiben:
-
danke Amica , dein Pseudocode erläutert wunderbar , was mein etwas umständlicher Text aussagen sollte
Einen Kommentar schreiben:
-
Du willst Werte vergleichen, die aber der Reihe nach ankommen. Vergleichen kannst du also erst, wenn der zweite Wert vorliegt und du den ersten gespeichert hast.
Pseudocode:
Code:vergleichswert = wert_abrufen(); while (neuerwert = wert_abrufen()) { differenz = neuerwert - vergleichswert; vergleichswert = neuerwert; }
Amica
Einen Kommentar schreiben:
-
das ist ja nu noch einfacher ..
hole dir mit einer der mysql_fetch-Funktionen die Erste Zeile aus der Ergebnis-Tabelle
ID 8204 - den gibst du jetzt aber nicht sofort aus, sondern nun beginnt deine while-Schleife,
die liest mit ihrem mysql_fetch nun ihrerseits die 2te Zeile ein - und ab hier gibst du aus
Alte ID , Alte irgendwas , Differenz - Beträge (neue Werte hast du ja )
danach Alte Werte mit den aktuellen Überschreiben und Schleife wieder von vorn
Einen Kommentar schreiben:
-
hmm... logisch, aber die Ausgabe findet schon in der While-Schleife statt. Genau das ist mein Problem.
Einen Kommentar schreiben:
-
Zitat von Nirus2000 Beitrag anzeigenDa ich aber DESC sortiere, kann ich den Wert nicht in einen Dummy speichern, weil Wert davor noch nicht existiert.
Er existiert erst ab dem zweiten Datensatz, den dein Script verarbeitet.
Desweiteren sind die ID's nicht fortlaufend sondern unsortiert.
richtig wäre aber
WHILE-ID -> VEGLEICHS-ID
8204 -> 5970
5970 -> [...]
Einen Kommentar schreiben:
Einen Kommentar schreiben: