Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-将mysql时间戳转换为显示网格_Php_Mysql_Timestamp - Fatal编程技术网

PHP-将mysql时间戳转换为显示网格

PHP-将mysql时间戳转换为显示网格,php,mysql,timestamp,Php,Mysql,Timestamp,我对这件事很感兴趣。 我有一个充满“预订”的MySQL数据库,我正试图构建一个网格来显示预约的可用性 对于每个条目,我都有以下格式的开始时间和结束时间: YYYY-MM-DD HH:MM:SS(即2015-06-17 12:00:00) 我正在寻找将这些条目转换为一天的显示网格的方法,用一种颜色将预订时间屏蔽,而非预订时间则用另一种颜色 示例:如果我的sql查询返回一个条目,以12pm作为开始时间,2pm作为结束时间,则创建的网格将如下所示: 很糟糕的例子,但却让人明白了这个想法 我会列举一些

我对这件事很感兴趣。 我有一个充满“预订”的MySQL数据库,我正试图构建一个网格来显示预约的可用性

对于每个条目,我都有以下格式的开始时间和结束时间: YYYY-MM-DD HH:MM:SS(即2015-06-17 12:00:00)

我正在寻找将这些条目转换为一天的显示网格的方法,用一种颜色将预订时间屏蔽,而非预订时间则用另一种颜色

示例:如果我的sql查询返回一个条目,以12pm作为开始时间,2pm作为结束时间,则创建的网格将如下所示:

很糟糕的例子,但却让人明白了这个想法

我会列举一些我已经尝试过的例子,但老实说,我不知道从哪里开始去实现这一点我可以轻松地提取数据,让它像我的例子一样显示,这让我陷入困境

我不是在寻找完成的代码,也不是在寻找任何人为我工作的人,只是在正确的方向上推动如何将时间转化为我的示例


多谢各位

看起来您想要渲染保留时间网格。好的,我们走吧

  • 我将首先定义可能的预订时间
  • 然后我会检查请求:用户请求了一周还是一天。 在这个例子中,我使用了一个星期视图
  • 然后,使用定义的保留时间为周(或日)呈现保留表(),并在迭代这些时间时,询问您的数据库,该周/日/时间是否有一个条目
    读取保留()
  • 如果存在条目:渲染该条目(详细信息)并将其颜色设置为红色,否则使用绿色渲染“Click to book”
关键是渲染数据和数据库数据之间的比较。 根据渲染数据(周、日、时间)询问数据库。 您已经写过,您“可以轻松地提取数据”。您可以使用渲染数据构建时间戳,然后查询数据库中的条目:

有很多方法可以改进这一点。尤其是
read\u reservation()
函数稍后将包含数据库选择查询。您可以在第一次调用该函数时查询一天或一周,然后在渲染过程中再次调用该函数时处理数据和时间查找的结果集

这应该让你开始:

<?php

// (1) Define the possible reservation times. Syntax: 'TimeStart-TimeEnd'

$reservation_times = ['09-10', '10-11', '11-12', '12-13', '13-14', '14-15', '15-16', '16-17'];

// (2) What is the request? 
//     Week Display / Day display - $week = $_GET['week'];
//     Hardcoded for demo purpose.

$week = 20;

/**
 * Renders a reservation table for a certain week
 */
function render_reservation_table($week, $reservation_times)
{
    echo '<table><colgroup span="1" id="reservation_time_colgroup"></colgroup><colgroup span="7" id="reservation_day_colgroup"></colgroup>';

    foreach($reservation_times as $time)
    {
        echo '<tr><th class="reservation_time_th">' . $time . '</th>';

        $i = 0;

        while($i < 7)
        {
            $i++;

            echo '<td><div class="reservation_time_div">';
            echo '<div class="reservation_time_cell_div" id="div:' . $week . ':' . $i . ':' . $time . '" onclick="void(0)">';
            echo read_reservation($week, $i, $time);
            echo '</div></div></td>';
        }
        echo '</tr>';
    }
    echo '</table>';
}

function read_reservation($week, $i, $time)
{     
    // ==> ask database and compare

    // here hardcoded for demo: this is week 20, day 2, time 10-11
    if($week === 20 && $i === 2 && $time === '10-11') {

        // Booked
        echo '<div style="background:red;">Already booked.</div>';

    } else {

        // Not booked.
        echo '<div style="background:lightgreen;">Click to book.</div>';

    }
}

render_reservation_table($week, $reservation_times);

太棒了。。很好的开始,这比我要求的更多。非常感谢。很高兴我能帮忙!:)
<?php

// (1) Define the possible reservation times. Syntax: 'TimeStart-TimeEnd'

$reservation_times = ['09-10', '10-11', '11-12', '12-13', '13-14', '14-15', '15-16', '16-17'];

// (2) What is the request? 
//     Week Display / Day display - $week = $_GET['week'];
//     Hardcoded for demo purpose.

$week = 20;

/**
 * Renders a reservation table for a certain week
 */
function render_reservation_table($week, $reservation_times)
{
    echo '<table><colgroup span="1" id="reservation_time_colgroup"></colgroup><colgroup span="7" id="reservation_day_colgroup"></colgroup>';

    foreach($reservation_times as $time)
    {
        echo '<tr><th class="reservation_time_th">' . $time . '</th>';

        $i = 0;

        while($i < 7)
        {
            $i++;

            echo '<td><div class="reservation_time_div">';
            echo '<div class="reservation_time_cell_div" id="div:' . $week . ':' . $i . ':' . $time . '" onclick="void(0)">';
            echo read_reservation($week, $i, $time);
            echo '</div></div></td>';
        }
        echo '</tr>';
    }
    echo '</table>';
}

function read_reservation($week, $i, $time)
{     
    // ==> ask database and compare

    // here hardcoded for demo: this is week 20, day 2, time 10-11
    if($week === 20 && $i === 2 && $time === '10-11') {

        // Booked
        echo '<div style="background:red;">Already booked.</div>';

    } else {

        // Not booked.
        echo '<div style="background:lightgreen;">Click to book.</div>';

    }
}

render_reservation_table($week, $reservation_times);