我可以缩短这个PDO吗?

时间:2014-11-08 13:31:32

标签: php sql pdo

我正在创造一个人们可以预订餐桌的地方。 这是一个学校项目。

但关键是我要检查我的数据库是否已经为所选日期保留了表格。时间,如果为真,则为其添加一个类,使其变为红色或类似的东西。

我现在有这个代码,但我不想为表2 - 18做同样的事情,因为我会得到巨大的代码。必须有一个更简单的方法。 有人有什么想法吗?

<?
    $date = $_GET['date'];
    $time = $_GET['time'];
    ?>
    <button class="table 
    <?
    $table1 = $con->prepare( "SELECT * FROM `table` WHERE `table` = 1 AND `date` = ? AND `time` = ?" );
    $table1->bindValue( 1, $date );
    $table1->bindValue( 2, $time );
    $table1->execute();
    if( $tafel1->rowCount() > 0 ) { echo "active";}
    ?>"></button>

1 个答案:

答案 0 :(得分:1)

这样的事情可以很好地发挥作用,充分利用准备好的陈述:

$date = $_GET['date'];
$time = $_GET['time'];
$query = $con->prepare("
    SELECT `id` -- if you don't have an ID column, replace with any column really
    FROM `table`
    WHERE `table` = ?
      AND `date` = ?
      AND `time` = ?
    LIMIT 1 -- you're only interested in existence, so limit 1 is more efficient
");
foreach(range(1,18) as $table) {
    $query->execute(array($table, $date, $time));
    if( $query->rowCount() > 0) $class = "table active";
    else $class = "table";

    echo '<button class="'.$class.'"></button>';
}