2014-10-09 2 views
1

MySQL базы данных:Validate данных между несколькими строками

date  | avl | occ 
---------------------- 
2014-11-12 | 2 | 3 
2014-11-13 | 0 | 5 
2014-11-14 | 1 | 4 

Я использую следующий запрос, чтобы получить данные из базы данных MySQL:

$results = $con->query("SELECT * FROM table_name WHERE date BETWEEN '" . $check_in_date . "' AND '" . $check_out_date . "' ORDER by avl DESC"); 
if ($results) { 
    while($row = $results->fetch_array()) { 
     $avl= $row['avl']; 
     $date= $row['date']; 
    } 
} 

Теперь я хочу, чтобы напечатать $check_in_date только если таковые $avl «ю.ш. 'больше, чем 0 между $check_in_date и $check_out_date.

Заранее спасибо.

ответ

3

Ну, просто добавьте еще одно условие в положение WHERE.

Пример:

$check_in_date = $con->real_escape_string($check_in_date); 
$check_out_date = $con->real_escape_string($check_out_date); 
$results = $con->query("SELECT * FROM table_name WHERE avl > 0 AND date BETWEEN '$check_in_date' AND '$check_out_date' ORDER by avl DESC"); 
if ($results->num_rows > 0) { 
    while($row = $results->fetch_assoc()) { 
     $avl = $row['avl']; 
     $date = $row['date']; 
    } 
} 
+0

Спасибо. Вы - спасатель жизни. –

+0

@AvtarNanrey рад, что это помогло – Ghost

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