Мальта, отели (гостиницы) Мальты. Отдых в лучших отелях и гостиницах Мальты. Классификация отелей.

Подбор отеля и расчет стоимости тура:

". $value . "\n"; if ($key=='6') {$style=" style=\"background: #87CEFA;\" ";} if ($key=='5') {$style=" style=\"background: #F9BDBD;\" ";} if ($key=='4') {$style=" style=\"background: #FFFF66;\" ";} if ($key=='3') {$style=" style=\"background: #92D050;\" ";} if ($key == $star) {$s1=$s1."\n"; $_s1=$s1."\n";} else {$s1=$s1."\n"; $_s1=$s1."\n";} } $ss1 = ""; $_ss1 = ""; // город (курорт) $s2=""; // unset ($_twn[0]); while (list($key,$value)=each($_twn)) { // $s2=$s2."\n"; if ($key == $twn) {$s2=$s2."\n";} else {$s2=$s2."\n";} } $ss2 = ""; // тип номера $s3=""; // unset ($_rm_type[0]); while (list($key,$value)=each($_rm_type)) { // $s3=$s3."\n"; if ($key == $rm_type) {$s3=$s3."\n";} else {$s3=$s3."\n";} } $ss3 = ""; // отель (название) $s5=""; // unset ($_name[0]); while (list($key,$value)=each($_name)) { // $s5=$s5."\n"; if ($key=='0') { $class="0"; $style=" style=\"background: #ffffff;\" "; } if (strrpos($value, "(Apart)")) { $class="6"; $style=" style=\"background: #87CEFA;\" "; } if (strrpos($value, "5*")) { $class="5"; $style=" style=\"background: #F9BDBD;\" "; } if (strrpos($value, "4*")) { $class="4"; $style=" style=\"background: #FFFF66;\" "; } if (strrpos($value, "3*")) { $class="3"; $style=" style=\"background: #92D050;\" "; } if ($key == $name) {$s5=$s5."\n";} else {$s5=$s5."\n";} //$s5=$s5."\n"; } $ss5 = ""; // Взрослые (adult) $s6=""; // unset ($_adult[0]); while (list($key,$value)=each($_adult)) { // $s6=$s6."\n"; if ($key == $adult) {$s6=$s6."\n";} else {$s6=$s6."\n";} } $ss6 = ""; // Дети (child) $s7=""; // unset ($_child[0]); while (list($key,$value)=each($_child)) { // $s7=$s7."\n"; if ($key == $child) {$s7=$s7."\n";} else {$s7=$s7."\n";} } $ss7 = ""; echo "

Переключить на поиск по названию отеля »»

"; // форма категория-город echo "
"; echo" Заселение: Выселение: "; echo "

".$_ss1." "; //echo "курорт: ".$ss2." "; echo " ".$ss2." "; // echo "

тип номера: ".$ss3." "; echo " ".$ss6." "; // Взрослые (adult) echo " ".$ss7." "; // Дети (child) echo "
"; echo "

Переключить на поиск по курорту (городу) »»

"; // форма категория-отель echo "
"; echo" Заселение: Выселение: "; echo "

".$ss1." "; //echo "курорт: ".$ss2." "; echo " ".$ss5." "; // echo "

тип номера: ".$ss3." "; echo " ".$ss6." "; // Взрослые (adult) echo " ".$ss7." "; // Дети (child) echo "
"; // если введены значения даты - выполняем поиск и прочие операции BEGIN if (($date_begin>0) AND ($date_end>0)) { $str1 = "$date_begin"; // $str содержит некоторую дату $str1 = preg_replace("!(\d{2})\-(\d{2})\-(\d{2})!", "\\2/\\1/\\3", $str1); $str1 = str_replace("-", "", $str1); // вырезаем знак "-" $time1 = strtotime($str1); $date_begin = "$time1"; $str2 = "$date_end"; // $str содержит некоторую дату $str2 = preg_replace("!(\d{2})\-(\d{2})\-(\d{2})!", "\\2/\\1/\\3", $str2); $str2 = str_replace("-", "", $str2); // вырезаем знак "-" $time2 = strtotime($str2); $date_end = "$time2"; //$date_begin = $date_begin + (3600 * 24); // дата въезда коррекция //$_date_end = $date_end + (3600 * 24); // дата выезда включительно коррекция // коррекция выборки по оплате на одну ночь: $date_end = $date_end + (3600 * 24); // $date_end = $date_end + (3600 * 24); $difference = (intval($date_end - $date_begin)) / (3600 * 24); // echo "


Детали расчета (для проверки, посетителю это видеть не нужно)



"; # формируем SQL $s=""; // http://ru.stackoverflow.com/questions/70614/Выборка-между-датами if ( ($date_begin>0) AND ($date_end>0) ) $where = "date_begin < $date_end AND date_end > $date_begin"; else $where = "1"; if ($star>0) $where=$where." AND star = $star "; if ($twn>0) $where=$where." AND twn = $twn "; if ($rm_type>0) $where=$where." AND rm_type = $rm_type "; if ($name>0) $where=$where." AND name = $name "; // для одного взрослого не показывать двухместные номера if ($adult == '1') { $doublefilter=" AND ts_type !=2 AND ts_type !=4 "; } if ($adult > '1') { $doublefilter=" AND ts_type !=1 "; } if ($adult == '1') { $doublefilter=" AND ts_type !=2 AND ts_type !=4 AND ts_type !=6 AND ts_type !=7 "; } if ($adult == '2') { $doublefilter=" AND ts_type !=1 AND ts_type !=6 AND ts_type !=7 "; } if ($adult == '3') { $doublefilter=" AND ts_type !=2 AND ts_type !=4 AND ts_type !=1 AND ts_type !=7 "; } if ($adult == '4') { $doublefilter=" AND ts_type !=2 AND ts_type !=4 AND ts_type !=6 AND ts_type !=1 "; } if ($adult > '4') { $doublefilter=" AND ts_type !=2 AND ts_type !=4 AND ts_type !=6 AND ts_type !=1 AND ts_type !=7"; } $sql="SELECT SQL_CALC_FOUND_ROWS * FROM $zarplata WHERE $where $doublefilter order by num ASC, date_begin ASC "; $q=$db->query($sql); // считаем кол-во найденных всего $_query = "SELECT FOUND_ROWS()"; $_result = mysql_query($_query); $numrows = mysql_result($_result,0); # форматируем вывод результатов $n=0; $_difference = 0; $_difference_begin = 0; $_difference_end = 0; $_difference_base = 0; $cost = 0; $summ = 0; while ($db->next_record()) { $id=$db->Record['id']; $num=$db->Record['num']; $star=$db->Record['star']; $twn=$db->Record['twn']; $name=$db->Record['name']; $url=$db->Record['url']; $_date_begin=$db->Record['date_begin']; $_date_end=$db->Record['date_end']; $__date_begin=date("d.m.Y",$db->Record["date_begin"]); $__date_end=date("d.m.Y",$db->Record["date_end"]); $rm_type=$db->Record['rm_type']; $ts_type=$db->Record['ts_type']; $cost=$db->Record['cost']; // что бы заложить нашу комиссию нужно цену х 100 / 80 $cost=cost($cost); $name=stripslashes ($name); $difference_base = (intval($_date_end - $_date_begin)) / (3600 * 24); // всего дней в интервале записи в базе $_difference_base = $_date_end - $_date_begin; // всего дней в интервале записи в базе unixtime // если начало и конец периода более этой записи if (($date_begin <= $_date_begin) AND ($date_end >= $_date_end)) { $_difference = (intval($_difference_base)) / (3600 * 24); } // если начало ранее, а конец в текущей if (($date_begin <= $_date_begin) AND ($date_end <= $_date_end)) { $_difference = (intval($_difference_base-(($_date_end-(3600 * 24)) - $date_end))) / (3600 * 24); } // если начало в текущей, а конец позже if (($date_begin >= $_date_begin) AND ($date_end >= $_date_end)) { $_difference = (intval($_difference_base-($date_begin - $_date_begin))) / (3600 * 24); } // если начало и конец периода попадают в одну запись if (($date_begin >= $_date_begin) AND ($date_end <= $_date_end)) { $_difference = (intval($_difference_base-($_difference_base - ($date_end - $date_begin)))) / (3600 * 24); } $summ= $_difference * $cost; $s=$s.""; // $arr = array($id,$num,$twn,$name,$_date_begin,$_date_end,$rm_type,$ts_type,$cost,$summ); $arr = array($id,$num,$rm_type,$ts_type,$summ); $array[$id] = $arr; } $s=$s."
№: Категория: Город: Отель: Начало периода: Конец периода: Размещение: Тип номера: Цена: кол-во дн.:
$num $star $_twn[$twn] ".$_name[$name]." $__date_begin $__date_end $_rm_type[$rm_type] $_ts_type[$ts_type] $cost $_difference * $cost = $summ





"; // echo $s; // проверка выводим массив //echo "
"; //echo "исходный массив данных:

"; //echo "
";
//print_r($array);
//echo "
"; //echo "
"; // группировка и объединение двумерного массива по нужному полю // http://www.cyberforum.ru/php-beginners/thread1465073.html /* $new_array = array(); foreach ($array as $value) { if (!isset( $new_array[ $value[2] ] [ $value[3] ] )) $new_array[ $value[2] ] [ $value[3] ] = 0; $new_array[ $value[2] ] [ $value[3] ] += $value[ 4 ]; } */ // вывод в трехмерный массив $new_array = array(); foreach ($array as $value) { if (!isset( $new_array[ $value[1] ] [ $value[2] ] [ $value[3] ] )) $new_array[ $value[1] ] [ $value[2] ] [ $value[3] ] = 0; $new_array[ $value[1] ] [ $value[2] ] [ $value[3] ] += $value[ 4 ]; } // проверка выводим массив //echo "сгруппированный массив данных:

"; //echo "
";
//print_r($new_array);
//echo "
"; //echo "
"; /* // проверка выводим ключи и значения echo "выводим ключи и значения:

"; foreach ($new_array as $key=>$value) { echo $key . '
' ; foreach ($value as $key=>$value) { echo $key . '
' ; foreach ($value as $key=>$value) { echo $value . '
' ; } } echo '
' ; } // проверка выводим итог строковые значения echo "
"; echo "выводим итог строковые значения:

"; foreach ($new_array as $key=>$value) { echo $_name[$key] . '
' ; foreach ($value as $key=>$value) { echo $_rm_type[$key] . '
' ; foreach ($value as $key=>$value) { echo $_ts_type[$key] . ": " . $value . '
' ; } } echo '
' ; } */ // проверка выводим итог в таблице // курс евро // require "http://www.maltaenglish.ru/euro/euro.txt"; $source=file_get_contents('http://www.maltaenglish.ru/euro/euro.txt'); $source = str_replace(",", ".", $source); // заменяем запятую на точку // echo $source*2; // проверка // если не указано кол-во человек - ставим расчет на одного if ($adult == '0') {$adult = '1';} if ( $numrows > 0 ) { echo "

При размещении в одном номере 4 чел. и более - выбирайте «апартаменты» в категории или несколько номеров в одном отеле.

"; echo "

Стоимость на ".$adult." взрослых и ".$child." детей за ".$difference." суток (ночей) c: ".date("d.m.Y",$date_begin)." по: ".date("d.m.Y",($date_end))."

"; } if ( $numrows < 1 ) { echo "

извините, в городе ".$_twn[$twn]." не найдено отелей категории ".$_star[$star].", предлагаем повторить поиск с другими критериями или ознакомиться с представленнми ниже в списке отелями подробно


"; } // на сколько реально дней есть цен в базе! //echo $_date_end; //echo " - "; //echo $date_end; if ( $_date_end < $date_end ) { echo "

извините, на указанные даты нет стоимости проживания в базе данных отелей, показано на: ".$_difference." суток (ночей)


"; } if ( $numrows < 1 ) { echo "

извините, не найдено предложений на выбранный период


"; } echo '' ; foreach ($new_array as $key=>$value) { $twin_rate=1; // на ноль умножать нельзя, получится ноль! if ($child > '0') { $valuechild1_adilt1=$_valuechild1_adilt1[$key]; $valuechild1_adilt2=$_valuechild1_adilt2[$key]; $valuechild2_adilt1=$_valuechild2_adilt1[$key]; $valuechild2_adilt2=$_valuechild2_adilt2[$key]; if (($child == '2') AND ($adult == '1')) { $twin_rate=$_twin_rate[$key];} if ($child > '2') { $valuechildx=$_valuechild[$key]; } } if ($adult > '2') { $value_third_in_number=$_third_in_number[$key]; $value_fourth_in_number=$_fourth_in_number[$key]; } // смотреть расчет за человека или за номер (комнату) $perroom=$_perroom[$key]; echo "\n \n"; echo "\n\n\n"; echo "\n" ; $supplements = $_supplements_t[$key]; $supplements = preg_replace_callback('/(\d+)\.(\d+)/s', "tocost", $supplements); foreach ($value as $key=>$value) { echo "\n"; foreach ($value as $key=>$value) { // if ($key=='2') $value=$value*2; // умножаем цену на 2, если тип номера == Double (DBL) // если указано в процентах от стоимости взр. if (strrpos($valuechild1_adilt1, "%")) { $valuechild1_adilt1=str_replace("%", "", $valuechild1_adilt1); $valuechild1_adilt1=(($value/100)*$valuechild1_adilt1); } // сумму делим на 100 и умножаем на процент скидки // если указано не в процентах, а сумма фиксированно else {$valuechild1_adilt1=$valuechild1_adilt1;} // если указано в процентах от стоимости взр. if (strrpos($valuechild1_adilt2, "%")) { $valuechild1_adilt2=str_replace("%", "", $valuechild1_adilt2); $valuechild1_adilt2=(($value/100)*$valuechild1_adilt2); } // сумму делим на 100 и умножаем на процент скидки // если указано не в процентах, а сумма фиксированно else {$valuechild1_adilt2=$valuechild1_adilt2;} // если указано в процентах от стоимости взр. if (strrpos($valuechild2_adilt1, "%")) { $valuechild2_adilt1=str_replace("%", "", $valuechild2_adilt1); $valuechild2_adilt1=(($value/100)*$valuechild2_adilt1); } // сумму делим на 100 и умножаем на процент скидки // если указано не в процентах, а сумма фиксированно else {$valuechild2_adilt1=$valuechild2_adilt1;} // если указано в процентах от стоимости взр. if (strrpos($valuechild2_adilt2, "%")) { $valuechild2_adilt2=str_replace("%", "", $valuechild2_adilt2); $valuechild2_adilt2=(($value/100)*$valuechild2_adilt2); } // сумму делим на 100 и умножаем на процент скидки // если указано не в процентах, а сумма фиксированно else {$valuechild2_adilt2=$valuechild2_adilt2;} // Третий в номере // если указано в процентах от стоимости if (strrpos($value_third_in_number, "%")) { $value_third_in_number=str_replace("%", "", $value_third_in_number); $value_third_in_number=((($value/$difference)/100)*$value_third_in_number); } // сумму делим на 100 и умножаем на процент скидки // если указано не в процентах, а сумма фиксированно else {$value_third_in_number=$value_third_in_number;} // Четвертый в номере // если указано в процентах от стоимости if (strrpos($value_fourth_in_number, "%")) { $value_fourth_in_number=str_replace("%", "", $value_fourth_in_number); $value_fourth_in_number=((($value/$difference)/100)*$value_fourth_in_number); } // сумму делим на 100 и умножаем на процент скидки // если указано не в процентах, а сумма фиксированно else {$value_fourth_in_number=$value_fourth_in_number;} if ($adult == '3') { $skidka=$value_third_in_number*$difference;; } if ($adult == '4') { $skidka=($skidka=$value_third_in_number*$difference)+($value_fourth_in_number*$difference); } // проверка расчетов скидки /* echo $value*$adult ; echo " - "; echo $value_third_in_number*$difference; echo " = "; echo ($value*$adult)-($value_third_in_number*$difference); echo " скидка: "; echo $skidka; */ // расчет проживание детей if (($child == '1') AND ($adult == '1')) { $valuechild=$valuechild1_adilt1; } if (($child == '1') AND ($adult == '2')) { $valuechild=$valuechild1_adilt2; } if (($child == '2') AND ($adult == '1')) { $valuechild=$valuechild2_adilt1+$valuechild1_adilt1; } if (($child == '2') AND ($adult == '2')) { $valuechild=$valuechild2_adilt2+$valuechild1_adilt2; } // если более 2х детей if ($child > '2') { $valuechild=$valuechildx; // если указано в процентах от стоимости взр. if (strrpos($valuechild, "%")) { $valuechild=str_replace("%", "", $valuechild); $valuechild=(($value/100)*$valuechild); } // сумму делим на 100 и умножаем на процент скидки // если указано не в процентах, а сумма фиксированно else {$valuechild=$valuechild;} // умножаем цену (valuechild) на кол-во детей (child) $valuechild=$valuechild*$child; } if (($adult > '0') AND ($perroom == '0')) $value=$value*$adult; // умножаем цену на кол-во взрослых (adult), если указано if (($adult > '0') AND ($perroom == '1')) $value=$value; // смотреть расчет за человека или за номер (комнату) if ($perroom == '1') {$perroom_print = " за номер ";} else {$perroom_print = " за ";} // if ($adult > '0') $value=$value*$adult; // умножаем цену на кол-во взрослых (adult), если указано if (($child > '2') OR ($adult > '2')) $adult_print="

Расчет вариантов более 2-х взр. и 2-х детей приблизительный, по вопросам максимальных скидок обращайтесь, пожалуйста, к менеджеру

"; if ($child > '0') $valuechild_print="
Стоимость: ".$child." реб. = ".round($valuechild, 2)." евро / ".round($valuechild*$source, 2)." руб"; echo "\n" ; } } echo "
ОтельРазмещениеСтоимость EUR
подробная информация, описание отеля, доплаты, питание:
".$_name[$key] . " »»
".$_rm_type[$key] . "Стоимость: ".$perroom_print." ".$adult." взр. = ". round(($value-$skidka)*$twin_rate, 2) . " евро / ". round((($value-$skidka)*$twin_rate)*$source, 2) . " руб". $valuechild_print ."
".$adult_print."\n \n"; echo ""; echo ""; echo "
Дополнительно оплачивается:
Стоимость доплаты в сутки: (НВ - полупансион; FB - полный пансион; ALL - «все включено»)
". mb_convert_encoding($supplements, "utf-8", "windows-1251") ."
Стоимость трансферта аэропорт - отель аэропорт: 30 евро с человека
Расписание и цены на авиабилеты »»
Страховка: 1 евро в день
Стоимость визы на Мальту: дети до 12 лет - 20 евро + 2470 рублей; взрослые - 45 евро + 2470 рублей Визы »»
"; } } // если введены значения даты - выполняем поиск и прочие операции END else { // если выбраны значения категории и отеля if (($star>0) AND ($name>0)) { echo "

выбраны значения категории и отеля...

"; echo "".$_name[$name] . " »»"; echo(""); } else { echo "

При размещении в одном номере 4 чел. и более - выбирайте «апартаменты» в категории или несколько номеров в одном отеле.

"; echo "

Необходимо указать категорию отеля и предполагаемые даты проживания!

"; } } ?>

Описание отелей Мальты

снежинкой отмечены отели рекомендованные на Новый Год и Рождество