edw Posted May 25, 2011 Report Share Posted May 25, 2011 Sveiki, lieta sekojoša vajadzētu uztaisīt rezervācijas kodu. Tik nespēju izdomāt kā klientam piedāvāt brīvos laikus. Respektīvi ir restorāns ar vienu galdiņu un tā darba laiks ir 7h. Klients izvēlas konkrētu datumu un tad ar select box izvēlas attiecīgo stundu, un minūtes ( ar 15 min intervālu), kad vēlas veikt rezervāciju. Teiksim man tagad ir rezervācijas: 10:00-11:30 12:00-14:00 14:30-15:00 Kā panākt, lai nākošais klients vairs nevar veikt rezervāciju šajos laika posmos? Ok, nerunāju te par pārbaudi, kas visu laiku atmet atpakaļ - "Sorry viss jau aizņemts, izvēlaties citu laiku." Vajadzētu panākt tā lai no select box automātiski pazūd attiecīgās aizņemtās stundas un minūtes teiksim, ja es izvēlos rezervācijas sākumu: stunda: 10 tad minūtes ko man piedāvā ir 30 vai 45 attiecīgi beigas var būt tikai stunda: 11 minutes:00 savukārt, ja paņemu rezervācijas sākumu stunda: 15 tad minūšu izvēle ir 15, 30, 45 vai 00 attiecīgi beigas var būt visi laiki līdz 17:00(restorana darba laika beigas) Itkā jau doma +/- skaidrs, tik netieku gudrs, kā to laiku glabāt datubāzē un pēc tam apstrādāt, lai iegūtu šo info, pie tam galdiņu skaits var arī būt N Quote Link to comment Share on other sites More sharing options...
mounkuls Posted May 25, 2011 Report Share Posted May 25, 2011 (edited) Tabulā jāglabā tikai laikposma id, klienta id, galdiņa(varbūt), diena(varbūt). Visu pārējo php pusē ar ifiem un laikiem, arī izvadīt selectā vai ne, ģenerē tur. Edited May 25, 2011 by mounkuls Quote Link to comment Share on other sites More sharing options...
edw Posted May 25, 2011 Author Report Share Posted May 25, 2011 galdiņi netiks numurēti. Ko tieši domā ar laika posma id? Quote Link to comment Share on other sites More sharing options...
mounkuls Posted May 25, 2011 Report Share Posted May 25, 2011 Šo 10:00-11:30->R1 12:00-14:00->R2 14:30-15:00->R3 jo php pusē es liktu array tos iespējamos laikus kādi kuram atbilst, šaubos vai par atslēgu gribi izmantot laika intervāla pierakstu tur. Quote Link to comment Share on other sites More sharing options...
Rincewind Posted May 25, 2011 Report Share Posted May 25, 2011 Kaut ko līdzīgu taisīju. Katrai laika vienībai piešķirt ciparu (0=>0:00, 1=>0:15 utt), db glabāt laukos `from` un `to` Klientam sūtīt json_encode objektu ar rezervētajiem laikiem Klienta galā izveidot js masīvu ar visām iespejamajam laika vienībām un aizpildam ar atsūtīto json objektu, neaizņemtie = 0, aizņemtie = 1 foreach(masīva elements ar vērtību 1%4) dabūjam pieejamās sākumstundas kad lietotājs noklikšķina stundu, masīvā ejam uz priekšu sākot no stundas kamēr atrodam 1 un tālāk kamēr atrodam 0 vai pārejam uz nākamo stundu. tās būs pieejamās minūtes beigu laiks tāpat, meklējam 0 aiz izvēlētajām minūtēm Aptuveni tā. Servera galā vienkāršāk, tur vienkārši jāpārbauda lai laiki nepārklājas. Quote Link to comment Share on other sites More sharing options...
edw Posted May 25, 2011 Author Report Share Posted May 25, 2011 (edited) hmm, doma laikam skaidra, atliek tik mēģināt. Edited May 25, 2011 by edw Quote Link to comment Share on other sites More sharing options...
404 Posted May 25, 2011 Report Share Posted May 25, 2011 Varbūt to visu var vienkāršāk,ja vien nav īpaša iemesla kāpēc vērtības būtu jāapstrādā klienta pusē. Servera pusē no masīva izvadīt saformētus optionus: <?php foreach($options as $option) { echo '<option value="'.$option['id'].'">'.$option['name'].'</option>'; } Un klienta pusē ajax requests,kas iemet to iekš vajadzīgā selecta: $.post('ajax.php', {'function':'getReservationOptions'}, function(options) { $('#reservation_times').html(options); }); Quote Link to comment Share on other sites More sharing options...
edw Posted May 26, 2011 Author Report Share Posted May 26, 2011 404 Runa gāja par to kā izvadīt brīvos pieejamos laikus lai tie nepārklātos vairākas reizes, kā ir galdiņi restorānā. Quote Link to comment Share on other sites More sharing options...
404 Posted May 26, 2011 Report Share Posted May 26, 2011 Vajadzētu panākt tā lai no select box automātiski pazūd attiecīgās aizņemtās stundas un minūtes teiksim, ja es izvēlos rezervācijas sākumu Nu šo problēmu es sapratu burtiski-kā parastu dinamisko dropdownu,kad klients noklikšķina uz vēlamās stundas,un ajax attiecīgi ielasa no servera un iemet iekš otra selecta pieejamās minūtes "tā lai nepārklājas".Vienmēr ir licies,ka servera pusē veikt šādus aprēķinus ir ērtāk,bet nu katram savs. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.