03. februar 2007 - 11:43
Der er
6 kommentarer og 1 løsning
En nemmere måde at lave en funktion på
Har lavet dette script til at trække tider ud af DB, men findes der ikke en mere pæn måde at gøre det på? Som det er nu skal jeg manuelt lave 5 funktions med forskellige tider. // Lav udtræk af database på book_start, book_end og gem værdierne i et array $sql ="SELECT book_start, book_end "; $sql .="FROM book "; $sql .="WHERE medarbejder_id =" . $medarbejder_id . " "; $sql .="AND book_date =" . $book_date . " "; $sql .="AND book_start >=" . $start_hour . " "; $sql .="OR book_start <=" . $end_hour . " "; $sql .="AND book_end <=" . $end_hour . " "; $sql .="OR book_end >=" . $start_hour . " "; $sql .="ORDER BY book_start ASC "; $temp = db_query($database_name, $sql); while($temp_ = fetch_array($temp)){ $book_start[] = strtotime($temp_["book_start"]); $book_end[] = strtotime($temp_["book_end]"); } // Udregn forskel mellem book_end / book_start function ledig_tid01(){ if($book_start[] = ""){ for($n=34200; $n<=59400; $n+=7200){ $ledig_tid01 = date("H:i:s", $n); } } else($book_start[1] - $book_end[0] >= $ydelse_tid){ $ledig_tid01 = date("H:i:S", $book_end); } return $ledig_tid01; }
Annonceindlæg tema
03. februar 2007 - 12:14
#1
Hvad er det præcist du vil have din funktion til at lave ?
03. februar 2007 - 12:29
#2
Du kan starte med at smide book_end og book_start som parametre til funktionen, så dataflowet er mere synligt. hvor er det iøvrigt du kalder ledig_tid01()? Ved at bruge parametre, kan du måske generalisere din funktion, så du kun behøver en. Men det er lidt svært at gætte, hvad du mener.
03. februar 2007 - 12:51
#3
Vil have funktionen til at se hvad tidsforskellen er mellem book_start og book_end f.eks. : book_start[0] = 09:30:00 book_end[0] = 10:15:00 book_start[1] = 11:00:00 book_end[1] = 11:30:00 Så skal jeg bruge tiden mellem book_start[1] = 11:00:00 - book_end[0] = 10:15:00 For at om man kan sætte en ny booking ind. :o) Vil kalde ledig_tid senere i en en html table
03. februar 2007 - 13:25
#4
Men hvis nu der er 6 tider gemt i DB ville jeg jo gerne lave en funktion der læser alle tiderne igennem og laver en række med mulige tider. Nogle ideér hvordan man gør det så man ikke skal lave så meget kode?
03. februar 2007 - 14:29
#5
Er det sådan noget her du tænker på? function timedifferences(){ var $tmpArray[]; for($i=0;$i<count($book_start);$i++) for($j=0;$j<count($book_end);$j++) $tmpArray[] = $book_start[$i] - $book_end[$j]; //eventuel sorteringsalgoritme return $tmpArray; }
05. februar 2007 - 12:45
#6
Men tager den så ikke hvad der svarer til : book_start[0] - book_end[0] osv. Den skal regne fra : book_start[1] - book_start[0] Eller det er jo sådan jeg ser det for mig :o)
Vi tilbyder markedets bedste kurser inden for webudvikling