Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Записать в ячейку БД бесконечность

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Alex_dark74
Отправлено: 06 Февраля, 2016 - 19:40:50
Post Id


Частый гость


Покинул форум
Сообщений всего: 210
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Таблица цен работы оборудования состоит из 3 колонок
1. min - минимальная цена
2. max - максимальная цена
3. price - цена в диапазоне от "min" до "max"
предположим такая:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <table>
  3.   <tr>
  4.     <th>min</th>
  5.     <th>max</th>
  6.     <th>price</th>
  7.   </tr>
  8.   <tr>
  9.     <td>0</td>
  10.     <td>10</td>
  11.     <td>40</td>
  12.   </tr>
  13.   <tr>
  14.     <td>10</td>
  15.     <td>30</td>
  16.     <td>35</td>
  17.   </tr>
  18.   <tr>
  19.     <td>30</td>
  20.     <td>50</td>
  21.     <td>30</td>
  22.   </tr>
  23.   <tr>
  24.     <td>30</td>
  25.     <td>Бесконечность</td>
  26.     <td>25</td>
  27.   </tr>
  28. </table>
  29.  

В запросе приходит число допустим $number = 27
Выбирается price 35 так как 27 в диапазоне 10-30 ('$number' >= `min` AND '$number' <= `max`)
Но если запрос приходит 53?
Нужно как-то определить что это последняя строка в таблице. Или есть какой то другой вариант решения вопроса?
Важно! Сама по себе строка в таблице может быть не последней, она только при выводе последняя так как сортировка по 'min'
 
 Top
caballero
Отправлено: 06 Февраля, 2016 - 21:32:33
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




В БД не бывает никаких первых или последних строк - они все равнозначны

Если придет 53 не вернется ничего потому как не выполнится условие
и сортировка тут вообще ни при чем

(Отредактировано автором: 06 Февраля, 2016 - 21:33:04)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Alex_dark74
Отправлено: 07 Февраля, 2016 - 00:16:52
Post Id


Частый гость


Покинул форум
Сообщений всего: 210
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




caballero пишет:
Если придет 53 не вернется ничего

Это я понимаю. Я и спрашиваю какой может быть вариант решения роса?
 
 Top
MAXUS
Отправлено: 07 Февраля, 2016 - 02:12:56
Post Id


Посетитель


Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011  


Помог: 7 раз(а)




Вместо бесконечности ставь Null. Тогда условие будет
number>=min AND (number<=max OR max IS NULL).
 
 Top
Alex_dark74
Отправлено: 07 Февраля, 2016 - 10:31:26
Post Id


Частый гость


Покинул форум
Сообщений всего: 210
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




MAXUS пишет:
number>=min AND (number<=max OR max IS NULL)

Большое спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB