Могу ли я сделать этот PDO короче

0

Я создаю место, где люди могут зарезервировать столы. Это проект для школы.

Но дело в том, что я хочу проверить свою базу данных, если таблица уже зарезервирована для выбранной даты и времени, и если это правда, добавьте к ней класс, чтобы он стал красным, или что-то в этом роде.

У меня есть этот код сейчас, но я не хочу делать то же самое для таблицы 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>
Теги:
pdo

1 ответ

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>';
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню