За последние 24 часа нас посетил 62191 программист и 1797 роботов. Сейчас ищут 835 программистов ...

Более оптимизированный путь проверки

Тема в разделе "PHP для новичков", создана пользователем MCTrane, 15 май 2011.

  1. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Мне нужно проверить таблицу, есть ли свободное время у человека.
    Например, он принимает в с 8:00 - 18:00 (интервал 15 минут к примеру)
    Ну вот, я проверяю так:
    Делаю массив из времён: 8:00, 8:15 и т.д.
    Получается аж 40 штук.
    И сравниваю все эти 40 штук в таблице с записями вот так:
    PHP:
    1. <?php
    2. // $wrTime массив с временем
    3. // $dateSelect сегодняшняя дата
    4. foreach ($wrTime as $key=>$value)
    5.                  {
    6.                  $str .= "tm='$value' or ";
    7.                  $lcd++;
    8.                   }
    9. $str = substr($str, 0, -4);
    10.  $rowTime = IQuery("select * from entrys where dt='$dateSelect' and ($str)");
    11. if (sizeof($rowTime[0])<$lcd){
    12. $free = true; // т.е. есть свободное время
    13. }
    14. ?>
    Но слишком большой запрос получается....
    Может можно сделать как то намного проще?
     
  2. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Вот я дурак)
    Думал 2 дня ,а только сейчас осинило:
    считать просто кол-во записей в данной дате и если они равны кол-ву доступных времён, то зн. занято.
    PHP:
    1.  
    2. <?php $rowTime = IQuery("select COUNT(*) from entrys where dt='$dateSelect'"); ?>
    3.