Wert aus id x um Wert aus id x-1 subtrahieren
Einklappen
X
-
@goth: korrekt. war mir damals nicht ganz sicher, worauf es hinausläft. auf ausgabe oder update (die ausgabemöglichkeit wurde per EDIT hinzugefügt).
Einen Kommentar schreiben:
-
Nein das nicht.... Ich hätte daraus jetzt eine if abfrage gemacht und NICHT alles in eine Zeile bekommen
@Goth
Könntest Du für mich (und evtl. die Nachwelt) eine kleine Erklärung dafür abgeben. Denn allzuviel kann ich aus dieser Abfrage nicht erkennen
Zuletzt geändert von SonicCGN; 16.04.2004, 15:17.
Einen Kommentar schreiben:
-
Original geschrieben von TobiaZ
imho nur mit zwei queries...
Code:SELECT t1.kilometer - IFNULL(t2.kilometer, 0) FROM tabelle t1 LEFT JOIN tabelle t2 ON t2.id = t1.id - 1 ORDER BY kilometer
Einen Kommentar schreiben:
-
Original geschrieben von SonicCGN
Wobei mir diese Art etwas fremd vorkommt.....
Einen Kommentar schreiben:
-
Thänxx....
Wobei mir diese Art etwas fremd vorkommt..... liegt wohl daran das mein LehrBuch für PHP 4.0.x geschrieben wurde.
Nun gut.... dann kann es ja nun weiter gehen...
..und ich bin sicher ich werde wieder irgendwo hängen bleiben...
Einen Kommentar schreiben:
-
Warning: Division by zero in /home/www/web1/html/umsonzt/smart.php on line 59
aus ....PHP-Code:$auf100 = $liter / $kilometer * 100;
PHP-Code:$auf100 = $kilometer>0 ? $liter/$kilometer*100 : $liter/100;
Einen Kommentar schreiben:
-
Also mal vorweg... Ich habe MySql 4.0.17 mit PHP 4.3.6 auf Suse 8.1 !!
Da ich mit PHP und SQL noch nicht ganz so klar komme halte ich mich lieber mal an den Tipp von TobiaZ
Habe es auch nach ner Stunde basteln so hinbekommen wie es jetzt aussieht <<<Link>>>
Bekomme aber noch einen kleinen fehler angezeigt
(Zeile 59 iss bei [COLOR=orangered]{$auf100 = $liter / $kilometer * 100;}[/COLOR] )
Zwar stimmen die Berechnungen nur wenn mal Volltankt aber so ungefähr fährt man mit einem Smart im 5 Liter bereich
PHP-Code:$res = mysql_db_query("$DBN","SELECT * FROM `smart` order by 'datum'");
$num = mysql_num_rows($res);
// Tabellenbeginn
## Ab hier wird alles je nach anzahl Zeilen wiederholt
for ($i=0; $i<$num; $i++)
{
$id = mysql_result($res, $i, "id");
$datum = mysql_result($res, $i, "datum");
$liter = mysql_result($res, $i, "liter");
$gpreis = mysql_result($res, $i, "gpreis");
$kmstand = mysql_result($res, $i, "kmstand");
$lpreis = mysql_result($res, $i, "lpreis");
$extpreis = mysql_result($res, $i, "extpreis");
// Tabellenzeile mit -zellen
echo "<tr>";
echo "<td>$id</td>";
echo "<td>$datum</td>";
echo "<td>$liter</td>";
echo "<td>$gpreis</td>";
echo "<td>$kmstand</td>";
echo "<td>$lpreis</td>";
echo "<td>$extpreis</td>";
$diff = $extpreis - $lpreis;
echo "<td>$diff</td>";
if (isset($kmstand1)){
$kilometer=$kmstand - $kmstand1;
}
$kmstand1=$kmstand;
echo "<td>$kilometer</td>";
$auf100 = $liter / $kilometer * 100;
$auf100 = number_format($auf100,2,",",".");
echo "<td>$auf100</td></tr>";
}
# Summe von Gesamtpreis ausrechnen
$gespreis = mysql_db_query("$DBN","select sum(gpreis) AS summe from smart");
while ($gesamtpreis = mysql_fetch_array($gespreis)) {
# Summe von LITER ausrechenen
$gesliter = mysql_db_query("$DBN","select sum(liter) AS summe from smart");
while ($gesamtliter = mysql_fetch_array($gesliter)) {
echo "<tr><td> </td></tr>";
echo "<tr>
<td> </td>
<td>Summe:</td>
<td>$gesamtliter[summe]</td>
<td>$gesamtpreis[summe]</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>";
}}
echo "</tr></table>";
Zuletzt geändert von SonicCGN; 16.04.2004, 14:49.
Einen Kommentar schreiben:
-
wenn du mysql 4 hast, kannst du das mit einem subselect machen.
hast du nur mysql 3, musst du alle daten in ein php-array einlesen, dort berechnen und anschliessend wieder in die db schreiben.
Einen Kommentar schreiben:
-
imho nur mit zwei queries...
wann willst du die berechnung denn machen? bei der ausgabe? dann sollte das doch gar kein problem sein. di speicherst immer den aktuellen stand in einer variable $stand_alt. wenn du dann die nächste row bearbeitest machst du $stand - stand_alt und hast deinen wert. dann wieder stand in $stand_alt schreiben,
Einen Kommentar schreiben:
-
Wert aus id x um Wert aus id x-1 subtrahieren
MalZeit !
Habe da ein mehr oder weniger unlösbares Prob (für mich)
Und zwar habe ich da eine Tabelle gebastelt und will aber nun den 'alten' KM-Stand vom 'neuen' KM abstand abziehen, um somit an die ferfahrenen Kilometer zu kommen. -klar
Zu sehen unter www.umsonzt.de/smart.php
Nur wie kann ich den Wert aus ID 1 um den Wert aus ID 0 erleichtern.
Und natürlich sollte das ganze automatisch auch mit ID 2 und 1, und ID 3 und 2, usw. usw. usw. funktionieren.
grübel grübelStichworte: -
Einen Kommentar schreiben: