Avatar billede blueice Nybegynder
21. november 2007 - 16:48 Der er 1 løsning

At vælge den rigtige værdi

har et problem der erlidt besværligt at forklarer men her it goes

Jeg er ved at lave en regnskabs side men har lidt problemer med at knytte priser sammen med et dato interval

Tabeler i MySQL
Listen[dato,bruger,antal1,antal2,antal3]
Prisen[dato,pris1,pris2,pris3]

og bruger for at få fat i mine data følgende kode
$result = mysql_query("SELECT * FROM Listen") or die(mysql_error()); 
while($row = mysql_fetch_array( $result )) {

}

mit problem er at hvis jeg nu har en pris for lad os sige
DATO1: 20070131 pris1=12 pris2=20
DATO2: 20070212 pris1=10 pris2=30
DATO3: 20070611 pris1=5 prus2=10

hvordan får jeg så gjort så det man skal betale er:
Antal*Pris(for den aktuelle ting til den aktuelle dato)

hvis under DATO1 skal den bruge DATO1's priser
hvis den er mellem DATO1 og DATO2 skal den bruge DATO1's priser
hvis den er mellem DATO2 og DATO3 skal den bruge DATO2's priser
hvis den er størrend DATO3 skal den bruge DATO3's priser

jeg kan ikke helt hitte ud af hvordan man skal få den til det og mangler det til vores klub bar regnskab
Avatar billede blueice Nybegynder
22. november 2007 - 18:55 #1
Fandt selv en løsning på problemet:

// SELET ALL PRICES
    $result = mysql_query("SELECT * FROM Listen ORDER BY date") or die(mysql_error()); 
   
// keeps getting the next row until there are no more to get (AND PUT IN ARRAY'S)
    $i=0;
    while($row = mysql_fetch_array( $result )) {

//Count number of dates;
        $i=$i+1;

//Assign mysql data to arrays
        $id[$i]=$row['id'];
        $dates[$i]=$row['date'];
      $pris1[$i]=$row['pris1'];
      $pris2[$i]=$row['pris2'];
      $pris3[$i]=$row['pris3'];
        }
       
//Set number of dates:
        $NumerOfDates=$i;
       
//Close Database
    mysql_close();
   
       
    $TargetDate=$_GET['date'];
 

        $DateIsNumber=0;
   
    //Write Target date
   
    // Find date date that is larger than the value (first date first)
        for ( $i = 1; $i <= $NumerOfDates; $i = $i+1) {
            if ($TargetDate>=$dates[$i]) {$DateIsNumber=$i;}
        }
    // if no date is found set date as first date
        if ($DateIsNumber==0) {$DateIsNumber=1;}
        echo "pris.dato: ".$dates[$DateIsNumber]."<br>";
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester