U pitanju je frizerski salon, npr satiranje rade pola sata, onda pola sata stoji farba ili ne znam ni ja sta, a dok stoji farba on moze drugoga da radi i posle pola sata nastavlja sa istim.
Imam, evo kod, ali ne znam koliko ce biti jasan:
Code:
<?php
$usluznik=$_POST['usluznik'];
$datum=$_POST['datum'];
$imeiprezime=$_POST['imeiprezime'];
$telefon=$_POST['telefon'];
$sql="SELECT a.*, b.*, c.* FROM `cenovnik` AS a
INNER JOIN `usluge` AS b ON a.`idUsluge`=b.`idUsluge`
INNER JOIN `usluznik` AS c ON a.`idUsluznika`=c.`idUsluznika` WHERE a.`idUsluge`='".$idUsluge."' AND a.`idUsluznika`='".$usluznik."'";
$query=mysql_query($sql);
$num=mysql_num_rows($query);
$row=mysql_fetch_array($query);
$datumAr=explode("-",$datum);
$dan=$datumAr[2];
$mesec=$datumAr[1];
$godina=$datumAr[0];
$ukupnoTrajanje=$row['trajanjeUsluge']+$row['trajanjePauze']+$row['trajanjeNastavka'];
?>
<form action="<?php echo $_SERVER['SCRIPT_URI']."?korak=3&idUsluge=".$idUsluge; ?>" method="post" enctype="multipart/form-data" name="zakazivanje3" id="zakazivanje3">
<?php
$tempDate = $godina."-".$mesec."-".$dan;
$danUNedelji=date('N', strtotime( $tempDate));
switch($danUNedelji){
case 1:
$danUnedeljiPrevedeno="ponedeljak";
$danUnedeljiPrevedeno2="ponedeljom";
break;
case 2:
$danUnedeljiPrevedeno="utorak";
$danUnedeljiPrevedeno2="utorkom";
break;
case 3:
$danUnedeljiPrevedeno="sreda";
$danUnedeljiPrevedeno2="sredom";
break;
case 4:
$danUnedeljiPrevedeno="četvrtak";
$danUnedeljiPrevedeno2="četvrtkom";
break;
case 5:
$danUnedeljiPrevedeno="petak";
$danUnedeljiPrevedeno2="petkom";
break;
case 6:
$danUnedeljiPrevedeno="subota";
$danUnedeljiPrevedeno2="subotom";
break;
}
echo "<p>Izabrali ste <strong>".$row['nazivUsluge']."</strong> kod <strong>".$row['imeUsluznika']." ".$row['prezimeUsluznika']."</strong> čiji je telefon <strong>".$row['telefonUsluznika']."</strong>, a cena usluge je <strong>".$row['cena']." dinara</strong>. Ukoliko želite da promenite neki od parametara, idite <a href=\"javascript:history.back();\">korak nazad</a>. Molimo izaberite željeno vreme kada želite da iskoristite uslugu dana <strong>".$dan.".".$mesec.".".$godina.".</strong> (".$danUnedeljiPrevedeno."). Usluga traje <strong>".$ukupnoTrajanje." minuta</strong>.</p>";
?>
<h3>Izaberite radno vreme</h3>
<p><?php echo $row['imeUsluznika']." ".$row['prezimeUsluznika']." ".$danUnedeljiPrevedeno2;?> radi:
<?php $sqlRadnoVreme="SELECT a.*, b.* FROM `radnoVreme` AS a
INNER JOIN `rasponiRadnogVremena` AS b ON a.`idrasponaRadnogVremena`=b.`idrasponaRadnogVremena`
WHERE a.`idUsluznika`='".$row['idUsluznika']."' AND a.`danUnedelji`='".$danUNedelji."'";
$queryRadnoVreme=mysql_query($sqlRadnoVreme);
$rowRadnoVreme=mysql_fetch_array($queryRadnoVreme);
echo " <strong>".$rowRadnoVreme['nazivrasponaRadnogVremena']."</strong> od <strong>".sprintf("%02d",$rowRadnoVreme['pocetniRasponSat']).":".sprintf("%02d",$rowRadnoVreme['pocetniRasponMin'])."h</strong> do <strong>".sprintf("%02d",$rowRadnoVreme['krajnjiRasponSat']).":".sprintf("%02d",$rowRadnoVreme['krajnjiRasponMin'])."h</strong>.";?>
</p><?php
$sat=$rowRadnoVreme['pocetniRasponSat'];
$ukupnoRadnoVreme=($rowRadnoVreme['krajnjiRasponSat']*60+$rowRadnoVreme['krajnjiRasponMin'])-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']);
if($ukupnoTrajanje>59){
$satTrajanja=1;
$minutTrajanja=$ukupnoTrajanje-60;
}
while($sat<$rowRadnoVreme['krajnjiRasponSat']){
$min=0;
while($min<60){
$prethodnoRadnoVreme=($sat*60+$min)-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']);
//provera da li je zauzeto
$sqlProveri="SELECT a.*, b.* FROM `zakazivanje` AS a
INNER JOIN `usluge` AS b ON a.`idUsluge`=b.`idUsluge`
WHERE a.`datum`='".$datum."' AND a.`usluznik`='".$usluznik."'";
$queryProveri=mysql_query($sqlProveri);
$numProveri=mysql_num_rows($queryProveri);
//provera da li je zauzeto
if(($ukupnoRadnoVreme-$prethodnoRadnoVreme-$ukupnoTrajanje)>=0){
if($numProveri==0){$prikazi=1;}
if($numProveri>0){
$prikazi=0;
while($rowProveri=mysql_fetch_array($queryProveri)){
$vremeZaka=explode(":",$rowProveri['vremeZakazivanja']);
$vremeZakazivanja=$vremeZaka[0]*60+$vremeZaka[1];
$trenutakZakazivanja=$vremeZakazivanja-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']);
if(($trenutakZakazivanja>($sat*60+$min)-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']-$row['trajanjeUsluge'])) && ($trenutakZakazivanja+$rowProveri['trajanjeUsluge'])>(($sat*60+$min)-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']))){
$prikazi=1;
}
if($trenutakZakazivanja+$rowProveri['trajanjeUsluge']>(($sat*60+$min)-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']))){
$prikazi=1;
}
}}
if($prikazi==1){
echo "<label><input name=\"vremeZakazivanja\" id=\"vremeZakazivanja\" value=\"".sprintf("%02d",$sat).":".sprintf("%02d",$min)."\" type=\"radio\"/> <span>".sprintf("%02d",$sat).":".sprintf("%02d",$min)."h </span></label>";}
}
$min=$min+15;
}
$sat++;
}
?>
<input name="imeiprezime" type="hidden" value="<?php echo $imeiprezime; ?>" />
<input name="telefon" type="hidden" value="<?php echo $telefon; ?>" />
<input name="usluznik" type="hidden" value="<?php echo $usluznik; ?>" />
<input name="datum" type="hidden" value="<?php echo $datum; ?>" />
<p class="dugmici"><a href="javascript:history.back();" class="button">Prethodni korak</a>
<input type="submit" name="potvrdi" value="Potvrdi" class="button" /></p>
</form>
Problem se konkretno nalazi ovde:
Code:
$sat=$rowRadnoVreme['pocetniRasponSat'];
$ukupnoRadnoVreme=($rowRadnoVreme['krajnjiRasponSat']*60+$rowRadnoVreme['krajnjiRasponMin'])-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']);
if($ukupnoTrajanje>59){
$satTrajanja=1;
$minutTrajanja=$ukupnoTrajanje-60;
}
while($sat<$rowRadnoVreme['krajnjiRasponSat']){
$min=0;
while($min<60){
$prethodnoRadnoVreme=($sat*60+$min)-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']);
//provera da li je zauzeto
$sqlProveri="SELECT a.*, b.* FROM `zakazivanje` AS a
INNER JOIN `usluge` AS b ON a.`idUsluge`=b.`idUsluge`
WHERE a.`datum`='".$datum."' AND a.`usluznik`='".$usluznik."'";
$queryProveri=mysql_query($sqlProveri);
$numProveri=mysql_num_rows($queryProveri);
//provera da li je zauzeto
if(($ukupnoRadnoVreme-$prethodnoRadnoVreme-$ukupnoTrajanje)>=0){
if($numProveri==0){$prikazi=1;}
if($numProveri>0){
$prikazi=0;
while($rowProveri=mysql_fetch_array($queryProveri)){
$vremeZaka=explode(":",$rowProveri['vremeZakazivanja']);
$vremeZakazivanja=$vremeZaka[0]*60+$vremeZaka[1];
$trenutakZakazivanja=$vremeZakazivanja-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']);
if(($trenutakZakazivanja>($sat*60+$min)-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']-$row['trajanjeUsluge'])) && ($trenutakZakazivanja+$rowProveri['trajanjeUsluge'])>(($sat*60+$min)-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']))){
$prikazi=1;
}
if($trenutakZakazivanja+$rowProveri['trajanjeUsluge']>(($sat*60+$min)-($rowRadnoVreme['pocetniRasponSat']*60+$rowRadnoVreme['pocetniRasponMin']))){
$prikazi=1;
}
}}
if($prikazi==1){
echo "<label><input name=\"vremeZakazivanja\" id=\"vremeZakazivanja\" value=\"".sprintf("%02d",$sat).":".sprintf("%02d",$min)."\" type=\"radio\"/> <span>".sprintf("%02d",$sat).":".sprintf("%02d",$min)."h </span></label>";}
}
$min=$min+15;
}
$sat++;
}
--
With The Best Regards,
Daniel Dulić, Web System Development
http://www.citysuteam.com
Telefon: +381 (0) 64 / 364 - 65 - 91
E-Mail:
[email protected]
CitySu team, Web Services Company
Antona Aškerca 44/50,
24000 Subotica
CitySu team