Kostenberechnung

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

  • Kostenberechnung

    Hi,

    wie könnte man am besten folgendes in PHP und MySql umsetzen?

    Anhand des Kunden aus Tabele1 wird in Tabele2 ermittelt wieviel Tage er bis zur abholung frei hat.

    Nun möchte ich einmal am Tag ein Script ausführen, welches 2 Spalten in der Tabele1 aktuallisiren soll.

    Spalte 1: Abholung o. Kosten
    Hier soll Anlieferung + Freie Tage berechnet werden und in Spalte eingetragen werden.

    z.B. 27.03.2009 + 10 Tage = 07.04.2009

    Spalte 2: Kosten
    Wenn das Aktuelle Datum das Datum für "Abholung o. Kosten" überschritten hat, soll die Tage gezählt werden. Die Tage denn mal Kosten pro Tag genommen werden und das Ergebnis in Kosten eingetragen werden.
    z.B. Wenn heut der 10.04.2009 were
    10.04.2009 - 07.04.2009 = 3 Tage
    3 * 10 € = 30 €

    Muster | 27.03.2008 | 07.04.2009 | 30 €




    Tabele1
    PHP-Code:
    Kunde        Anlieferung       |Abholung oKosten       |   Kosten
    Muster       
    27.03.2008        | ??????                  |  ??????
    Neumann      27.03.2008        | ??????                  |   ?????? 
    Tabele2
    PHP-Code:
    Kunde         Freie Tage      Typ      Kosten pro Tag
    Muster        
    10              PKW      10 €
    Muster        
    10              LKW      15 €
    Neumann       
    6               PKW      7 €
    Neumann       
    6              LKW      10 € 
    Zuletzt geändert von Vampir20; 29.03.2009, 18:36.

  • #2
    hast du denn schon eigene ansätze?

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Diese Variante hab ich mir mal gemacht, ist aber zu ungenau, da ich es anhand der Sekunden Rechne.
      Das ergebnis ist frühs daher auch anderst als abends.
      Das erg
      PHP-Code:
       $result=$db->query("SELECT u.user, u.date, u.typ, c.* FROM USER u LEFT JOIN cost c ON (u.user=c.user AND u.typ=c.typ)"); 
       while(
      $row=$db->fetch_array($result)) {
        
      $user=$row['user'];
        
      $free_date$row['day'] * 84600 $row['date'];
        
      $cost=(time() - $free_date) / 84600 $row['cost'] ;
        
      $db->unbuffered_query("UPDATE user SET free_date = $free_date, cost = $cost WHERE user = '$user'");    
       } 
      Das ergebnis sieht wie volgt aus (bei 11 Tage frei und Stankosten pro Tag 40 €):
      Datum: 22.12.2008
      Name: MSKU0649567
      Frei bis: 02.01.2009
      Kostenstand heute: 3.536 €

      Sollte aber so aussehen (bei 11 Tage frei und Stankosten pro Tag 40 €):
      Datum: 22.12.2008
      Name: MSKU0649567
      Frei bis: 01.01.2009
      Kostenstand heute: 3.480 €
      Zuletzt geändert von Vampir20; 29.03.2009, 18:40.

      Kommentar


      • #4
        Hat sich erledigt, habe es wie folgt hinbekommen und werd es jetzt mal mit verschiedenen werten testen.

        PHP-Code:
           $free_date$row['day'] * 84600 $row['an_date'] - 84600;
          
        $cost=floor((time() - $free_date 84600) / 84600) * $row['cost'] ; 

        Kommentar


        • #5
          Warum nutzt du nicht die Datumfunktionen von MySQL?

          Kommentar

          Lädt...
          X