04. juli 2007 - 14:37
Der er
4 kommentarer
hvorfor looper den ikke igennem dette while()
Jeg har stirret mig blind på hvor den kun laver et udtræk fra databasen med dette udtræk. Nogen der gider oplyse mig? <? while($result = wrap_db_fetch_array($query)){ // Prøve nr. 2 while($first_free_time = $result['schedule_date_time']){ //$booking_interval = strtotime('1970-01-01 00:30:00'); // ex. 00:45:00 $free_start_time = strtotime($first_free_time); $free_end_time = $free_start_time+$booking_interval; $time_interval = BOOKING_TIME_INTERVAL*60; $query = "SELECT COUNT(schedule_date_time) FROM " . DATE_TIME_SCHEDULE_TABLE . " WHERE ("; { for($i= $free_start_time; $i<= $free_end_time; $i+=$time_interval) $query .= "schedule_date_time = '". date('Y-m-d H:i:s', $i) . "') "; } $result = wrap_db_query($query); $count = wrap_db_fetch_array($result); $need_count = count($i); if($count >= $need_count) { $booking_start_time = date('Y-m-d H:i:s', $free_start_time); $booking_end_time = date('Y-m-d H:i:s', $free_end_time); } ?> <a href="<?=href_link(ADD_BOOKING, 'start_date='.$booking_start_time.'&end_date='.$booking_end_time.'&view=week&'.make_hidden_fields_workstring(array('loc')), 'NONSSL')?>"><?= $booking_start_time; ?></a><br /> <? } // end of while } // end of while ?>
Annonceindlæg fra Computerworld it-jobbank
Mød 3.500+ it-talenter på IT-DAY 2026
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Du bruger: while($result = wrap_db_fetch_array($query)){ // Prøve nr. Og inden i while løkken definerer nu $query igen. Så går while løkken i stå :) Med andre ord, find et andet navn til: query = "SELECT COUNT(schedule_date_time) FROM " . DATE_TIME_SCHEDULE_TABLE . " WHERE (";
Dette er vel heller ikke særlig smart i en while løkke, da det vil være sandt hele tiden: while($first_free_time = $result['schedule_date_time']) Du skal nok bare droppe den while løkke, og skrive $first_free_time = $result['schedule_date_time']; i stedet.
Har rettet op på fejlene, så nu kører den gennem loopet, men der kommer ingen resultater.:o( Hvad kan jeg gøre for at få den til at gennemgå arrayet og spytte de tider i databasen der er = 0 for starttid -> sluttid? troede det ville virke med dette script.... Ser sådan ud nu : while($result = wrap_db_fetch_array($query)){ // Prøve nr. 2 $n=0; $first_free_time = $result[$n]; $free_start_time = strtotime($first_free_time); $free_end_time = $free_start_time+$booking_time; $time_interval = BOOKING_TIME_INTERVAL*60; $sql = "SELECT COUNT(schedule_date_time) FROM " . DATE_TIME_SCHEDULE_TABLE . " WHERE ("; { for($i= $free_start_time; $i<= $free_end_time; $i+=$time_interval) $sql .= "schedule_date_time = '". date('Y-m-d H:i:s', $i) . "') "; } $temp = wrap_db_query($sql); $count = wrap_db_fetch_array($temp); $need_count = count($i); if($count >= $need_count) { $booking_start_time = date('Y-m-d H:i:s', $free_start_time); $booking_end_time = date('Y-m-d H:i:s', $free_end_time); } ?> <a href="<?=href_link(ADD_BOOKING, 'start_date='.$booking_start_time.'&end_date='.$booking_end_time.'&view=week&'.make_hidden_fields_workstring(array('loc')), 'NONSSL')?>"><?= $booking_start_time; ?></a><br /> <? $n++; } // end of while
OK igen ;o) Det har trækker værdierne ud af databasen, men der er ingen kontrol med om de er ledige. while($result = wrap_db_fetch_array($query)){; // Prøve nr. 2 $n=0; $first_free_time = $result[$n]; $free_start_time = strtotime($first_free_time); $free_end_time = $free_start_time+$booking_time; $time_interval = BOOKING_TIME_INTERVAL*60; if($free_start_time <= $free_end_time){ $n++; $booking_start_time = date('Y-m-d H:i:s', $free_start_time); $booking_end_time = date('Y-m-d H:i:s', $free_end_time); ?> <a href="<?=href_link(ADD_BOOKING, 'start_date='.$booking_start_time.'&end_date='.$booking_end_time.'&view=week&'.make_hidden_fields_workstring(array('loc')), 'NONSSL')?>"><?= $booking_start_time; ?></a><br /> <? } // end of if } // end of while Vil gerne tælle/vide om start->slut er = 0 men kan ikke få det til at kører sammen. Det ser sådan ud : while($result = wrap_db_fetch_array($query)){; // Prøve nr. 2 $n=0; $first_free_time = $result[$n]; $free_start_time = strtotime($first_free_time); $free_end_time = $free_start_time+$booking_time; $time_interval = BOOKING_TIME_INTERVAL*60; if($free_start_time <= $free_end_time){ $n++; $sql = "SELECT COUNT(schedule_date_time) FROM " . DATE_TIME_SCHEDULE_TABLE . " WHERE ("; { for($i= $free_start_time; $i<= $free_end_time; $i+=$time_interval) $sql .= "schedule_date_time = '". date('Y-m-d H:i:s', $i) . "') = 0 "; } $temp = wrap_db_query($sql); $count = wrap_db_fetch_array($temp); $need_count = count($i); if($count >= $need_count) { $booking_start_time = date('Y-m-d H:i:s', $free_start_time); $booking_end_time = date('Y-m-d H:i:s', $free_end_time); } ?> <a href="<?=href_link(ADD_BOOKING, 'start_date='.$booking_start_time.'&end_date='.$booking_end_time.'&view=week&'.make_hidden_fields_workstring(array('loc')), 'NONSSL')?>"><?= $booking_start_time; ?></a><br /> <? } // end of if } // end of while
Vi tilbyder markedets bedste kurser inden for webudvikling