Jump to content
php.lv forumi

Rezervācija


edw

Recommended Posts

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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);
});

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...