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 MySQL поиск от и до

 PHP.SU

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


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

> Без описания
Ololoshka
Отправлено: 16 Марта, 2018 - 09:40:41
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Март 2018  


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




Здравствуйте!
Есть таблица с GPS адресами, необходимо выполнить поиск с определенной широты и долготы до другой широты и долготы.
Например вот это я вывел одно только значение:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `gpstable` WHERE shirota  IN (45.092194) AND dolgota IN (38.974778);

или так

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `gpstable` WHERE shirota  IN ('.$gps1.') AND dolgota IN ('.$gps2.');


а как вывести все значения с этих координат 45.092194 38.974778 по эти 45.102194 38.988778
?
Спасибо

(Отредактировано автором: 16 Марта, 2018 - 09:43:13)

 
 Top
Мелкий Супермодератор
Отправлено: 16 Марта, 2018 - 10:43:37
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Если нужны находящиеся в квадрате описанном вершинами диагонали - то пара between.


-----
PostgreSQL DBA
 
 Top
Ololoshka
Отправлено: 16 Марта, 2018 - 12:37:13
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Март 2018  


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




всё, разобрался, надо использовать <=, => для сравнения значений ячеек.

Тема закрыта)
 
 Top
dexter3452
Отправлено: 20 Марта, 2018 - 11:57:18
Post Id


Новичок


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


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




При сортировке товаров по цене на OpenCart 1.5.4.1, если выбрать сортировку "Сначала дешевые", то вывод товара происходит без учета новых цен, только со старыми ценами. Кто знает как исправить этот вопрос? [PHP][/PHP]
Прикреплено изображение (Нажмите для увеличения)
Screenshot_8.png
 
 Top
andrewkard
Отправлено: 20 Марта, 2018 - 12:21:09
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




А что это за цифры? В модели /catalog/model/catalog/product.p hp в методе getProducts посмотрите на реализацию сортировки:

PHP:
скопировать код в буфер обмена
  1.  
  2.                 if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
  3.                         if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
  4.                                 $sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
  5.                         } elseif ($data['sort'] == 'p.price') {
  6.                                 $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
  7.                         } else {
  8.                                 $sql .= " ORDER BY " . $data['sort'];
  9.                         }
  10.                 } else {
  11.                         $sql .= " ORDER BY p.sort_order";
  12.                 }
  13.  
 
 Top
Ololoshka
Отправлено: 23 Марта, 2018 - 09:01:16
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Март 2018  


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




Добрый день. Подскажите еще пожалуйста, вывелись у меня координаты, от текущих координат

PHP:
скопировать код в буфер обмена
  1. select * from `gpstable` where shirota<='$shirv500' AND shirota>='$shirn500' AND dolgota<='$dolgp500' and dolgota >='$dolgl500'


а как можно получить id одинаковых координат, например чтобы отобразить не таким полным списком:

id name shirota dolgota
3 krd4444 45.096944 38.981667
6 krd4341 45.096944 38.981667
7 krd4342 45.096944 38.981667
319 krd4342 45.1003 38.9814

А например вот так:
3,6,7 - krd4444, krd4341,krd4342 - 45.096944 38.981667
319 - krd4342 - 45.1003 38.9814

Спасибо
 
 Top
andrewkard
Отправлено: 23 Марта, 2018 - 12:22:17
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




Проще всего в цикле пройтись и сгруппировать

(Отредактировано автором: 25 Марта, 2018 - 07:15:11)

 
 Top
Ololoshka
Отправлено: 23 Марта, 2018 - 14:03:17
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Март 2018  


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




andrewkard пишет:
Проще всего в цикле пройтись и сгрупировать

у меня в цикле вывод, только не пойму как правильно сгруппировать?
PHP:
скопировать код в буфер обмена
  1. $searchbrowse1=mysql_query("select * from `gpstable` where shirota<='$shirv500' AND shirota>='$shirn500' AND dolgota<='$dolgp500' and dolgota >='$dolgl500'") or die ("<br><b><font color=white><marquee bgcolor=Red behavior=slide direction=left scrollamount=100>Ошибка! Не возможно открыть таблицу</marquee></font></b>");
  2. if ($sb = mysql_fetch_array($searchbrowse1))
  3. {
  4. echo '<table border=0>';
  5. printf ("<tr>
  6.                
  7.                 <td bgcolor=Grey  align=center><font color=white>id</font>
  8.                 <td bgcolor=Grey  align=center><font color=white>Название</font>
  9.                 <td bgcolor=Grey  align=center><font color=white>Широта</font>
  10.                 <td bgcolor=Grey align=center><font color=white>Долгота</font>
  11.                
  12.                
  13.                 </tr>");
  14. do
  15. {
  16.        
  17.  
  18.         printf ('<tr>
  19.        
  20.         <form name="form3" action="" method="get">
  21.         <input type="hidden"name="searchid"  value='.$sb['id'].'>
  22.        
  23.         <td style="background-color: '.$color.'; color: '.$colort.'" align=center> '.$sb['id'].'
  24.         <td style="background-color: '.$color.'; color: '.$colort.'" align=center> '.$sb['name'].'
  25.         <td style="background-color: '.$color.'; color: '.$colort.'" align=center> '.$sb['shirota'].'
  26.         <td style="background-color: '.$color.'; color: '.$colort.'" align=center> '.$sb['dolgota'].'
  27.        
  28.        
  29.    </tr>');
  30. }
  31. while ($sb = mysql_fetch_array ($searchbrowse1));
 
 Top
andrewkard
Отправлено: 25 Марта, 2018 - 07:14:33
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




На самом деле так делать не нужно, посмотрите как это делается в MVC: контроллер обрабатывает действие, запрашивает данные у модели, и передает их в представление, а у Вас тут все в куче.
По поводу группировки:
проходитесь в цикле по данным, и создаете новый массив, в котором ключ будет, например md5 от 45.096944 38.981667, а уже потом выводите
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB