2011-01-07 2 views
2

У меня есть две отдельные колонки в одной таблице в моей базе данных. Оба они сохраняют дату в этом формате (2010-10-06T13: 00: 00). У меня также есть форма drupal, которую я пытаюсь проверить. Он собирает собирает значения времени начала и окончания времени пользователя и сохраняет его в базе данных. То, что я пытаюсь сделать, это убедиться, что время (время начала & & endtime), введенное пользователем, еще не существует в базе данных. Приведенный ниже код является то, что я до сих пор нет, но успех ..сравнение значения даты двух отдельных столбцов

function taxonomy_conflict_validate(&$form, $form_state) { 
    $starttime = $form_state[values][field_roomequip_date][0][value]; 
    $endtime = $form_state[values][field_roomequip_date][0][value2]; 

    if (mysql_num_rows(db_query("SELECT * FROM 
      content_type_equiproom WHERE 
      field_roomequip_date_value BETWEEN '$startime' AND '$endtime' 
      AND field_roomequip_date_value2 BETWEEN '$startime' AND '$endtime'"))) 
     { 
     form_set_error("Date", t("The time specified is no longer available"));    
     } 
} 

ответ

2

Вы, возможно, уже на этот вопрос ответили, но я хотел бы поделиться полезным ресурсом, который может помочь вам в будущем. Finding available reservation periods

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

+0

Спасибо Энди, я смог найти решение моей проблемы в указанной ссылке, и новый запрос выглядит примерно так: if (mysql_num_rows (db_query ("SELECT * FROM content_type_equiproom WHERE field_roomequip_date_value2> = '$ starttime 'AND field_roomequip_date_value <=' $ endtime '"))) { \t \t \t form_set_error (« Дата », t (« Указанное время больше не доступно »)); \t \t \t \t} – gables20

+0

Нет проблем - это помогло мне в прошлом, и мне нравится передавать его каждый раз, когда я могу ;-) – diagonalbatman

Смежные вопросы