Wert aus id x um Wert aus id x-1 subtrahieren

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

  • goth
    antwortet
    Axo ... das macht Sinn ...

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    @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:


  • SonicCGN
    antwortet
    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:


  • goth
    antwortet
    Original geschrieben von TobiaZ
    imho nur mit zwei queries...
    Also ... im Allgemeinen sollte da eine Query mit 'nem Left-Join vollkommen ausreichen ... sowas in der Art schwebt mir vor:
    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:


  • Abraxax
    antwortet
    Original geschrieben von SonicCGN
    Wobei mir diese Art etwas fremd vorkommt.....
    ... welche art? das mal nicht durch null teilen darf?

    Einen Kommentar schreiben:


  • SonicCGN
    antwortet
    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:


  • Abraxax
    antwortet
    Warning: Division by zero in /home/www/web1/html/umsonzt/smart.php on line 59
    es ist in der mathematik nicht erlaubt durch null zu teilen. also macht php das auch nicht. du musst es also abfangen....

    aus ....
    PHP-Code:
    $auf100 $liter $kilometer 100
    .... wird also .....
    PHP-Code:
    $auf100 $kilometer>$liter/$kilometer*100 $liter/100
    .... wobei du $liter/100 auch austauschen kannst, z.b. nur durch $liter ... ;-)

    Einen Kommentar schreiben:


  • SonicCGN
    antwortet
    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>&nbsp;</td></tr>";
    echo 
    "<tr>
        <td>&nbsp;</td>
        <td>Summe:</td>
        <td>
    $gesamtliter[summe]</td>
        <td>
    $gesamtpreis[summe]</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>"
    ;

    }}
    echo 
    "</tr></table>"
    Zuletzt geändert von SonicCGN; 16.04.2004, 14:49.

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    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:


  • TobiaZ
    antwortet
    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:


  • SonicCGN
    hat ein Thema erstellt Wert aus id x um Wert aus id x-1 subtrahieren.

    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übel
Lädt...
X