Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Возможно ли такое реализовать на PHP?


Автор: rulez22 20.9.2008, 17:03
Возможно ли такое реализовать на PHP?:
Генерация таблицы цен вида (без баз данных, хотя бы в виде переменных в скрипте)


СЕЗОНЫ                       ТИП КОМНАТЫ1          ТИП КОМНАТЫ2          ТИП КОМНАТЫ3...... и т.д...
01/02/08-16/03/08       цена1                         цена2                         цена3 ......... и т.д..
17/03/08-23/03/08       цена4                         цена5                         цена6 ......... и т.д..
24/03/08-30/04/08       цена7                         цена8                         цена9  ......... и т.д..
... и т.д..


чтобы задавать значения переменных в том же скрипте можно бы было посезонно (т.е. между двумя датами) а не по каждому дню 01/01,02/01,03/01... и т.д.

И чтобы была возножность в таблицу данные в виде переменных как вправо так и вниз добавлять..

Надеюсь понятно изложила идею.
Привидите пример пожалуйста если такое вообще возможно реализовать.
Спасибо заранее

Автор: Sunvas 20.9.2008, 18:26
Реализовать хранение такой информации можно при помощи многомерного массива. В него можно хоть в конец добавить информацию, хоть в начало.

Цитата(rulez22 @  20.9.2008,  17:03 Найти цитируемый пост)
чтобы задавать значения переменных в том же скрипте можно бы было посезонно 

А вот такое реализуется при помощи БД.

Автор: ViniPuh 20.9.2008, 18:49
Если я правильно понял:
Цитата
чтобы задавать значения переменных в том же скрипте можно бы было посезонно (т.е. между двумя датами) а не по каждому дню 01/01,02/01,03/01... и т.д.


То решение будет приблизительно такое:
Код

<?php

$info = array();

function addInfo($start_date, $end_date, $cena) {
    global $info;
    
    $cena['start_date'] = $start_date;
    $cena['end_date'] = $end_date;
    $info[] = $cena;
}

$title = array('СЕЗОНЫ', 'ТИП КОМНАТЫ1', 'ТИП КОМНАТЫ2', 'ТИП КОМНАТЫ3');
addInfo('01/02/08', '16/03/08', array('цена1', 'цена2', 'цена3'));
addInfo('17/03/08', '23/03/08', array('цена4', 'цена5', 'цена6'));
addInfo('24/03/08', '30/04/08', array('цена7', 'цена8', 'цена9'));


function getTable($content) {
    return '<table border="1">'.$content.'</table>';
}

function getTr($content) {
    return '<tr>'.$content.'</tr>';
}

function getTd($content) {
    return '<td>'.$content.'</td>';
}

function getInfo($title, $info) {
    $result1 = '';
    foreach($title as $txt) {
        $result1 .= getTd($txt);
    }
    $result = getTr($result1);

    foreach ($info as $inf) {
        $result1 = getTd($inf['start_date'].'-'.$inf['end_date']);
        foreach ($inf as $key=>$txt) {
            if($key!=='start_date' && $key!=='end_date') {
                $result1 .= getTd($txt);
            }
        }
        $result .= getTr($result1);
    }
    
    $result = getTable($result);
    return $result;
}

print(getInfo($title, $info));

?>


Решение возможно топорное, но на мой взгляд использование PHP в такой ситуации не оправдано.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)