Генератор форм

Для веб-мастера

Реклама

Комментарии к статье:
Создаем информер погоды на своем сайте

Дата: 2 ноября 2010 Просмотры 45490 Комментарии 37

    Получать новые материалы этого сайта на свой email адрес?

    Отправлять мне комментарии по эл. почте?

Диана
Диана 3 ноября 2010 | 15:31
0
Спасибо автору за такие подробные статьи!!!)) Сейчас работаю над новым сайтом - нашла для него много полезного на вашем сайте)))
Андрей Гладышев
Андрей Гладышев 3 ноября 2010 | 20:04
-2
я скачал исходник.Я все установил как надо, но мне пишит ошибку Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/users2/s/saigla/domains/weather.saigla.ru/index.php on line 7
Такого города нет в базе данных!
Шамшур Иван
Шамшур Иван 4 ноября 2010 | 13:10
+2
А вы создали базу данных, таблицу в ней?! Параметры подключения к базе данных все правильно указали?!
Андрей Гладышев
Андрей Гладышев 4 ноября 2010 | 17:03
+1
да все я правельно указал!
вот строчка в которой ошибка:
if(mysql_num_rows($result) != 1){
Шамшур Иван
Шамшур Иван 4 ноября 2010 | 17:25
0
Данная ошибка возникает, когда Вы указали не правильную базу данных или таблицу базы данных! Смотрите лучше!
Petro
Petro 19 января 2011 | 16:09
-2
а шо там за js/jquery-1.4.2.min.js в index где его взять
Шамшур Иван
Шамшур Иван 19 января 2011 | 16:35
+2
А, это Вам не надо! Можете его удалить!
Petro
Petro 19 января 2011 | 16:14
+1
а где взять такую гостевую подскажете
Шамшур Иван
Шамшур Иван 19 января 2011 | 16:35
+1
Написать самому! -)
Petro
Petro 19 января 2011 | 21:37
-1
а сложна ...... подскажете шо небудь по этому делу
Vector
Vector 29 января 2011 | 11:43
0
Неправильно показывает ваш информер!
Кишинев -5 , a информер дает +10
Шамшур Иван
Шамшур Иван 29 января 2011 | 12:53
+1
А вы правильно указали ID города в базе данных? В моем примере это для Донецка, Вам же нужно указать свой!
Vector
Vector 29 января 2011 | 13:03
0
city_id:33815 city_name:Кишинев
Vector
Vector 8 февраля 2011 | 19:15
+1
Tak kto nibuti pomojet?
V4eom problema to?
Mojet byt' po tomu 4to na Denwer ustanovil, na saite ne stavil...?
Шамшур Иван
Шамшур Иван 9 февраля 2011 | 10:12
0
Да нет. Денвер здесь не причем! Так что постоянно одну и туже температуру показывает? или просто не соответствует реальности?
Vector
Vector 12 февраля 2011 | 17:17
0
Постоянно одну и туже температуру показывает!
Шамшур Иван
Шамшур Иван 15 февраля 2011 | 09:48
0
Скорее всего у Вас не срабатывает parser.php, который обновляет данные! Вы его на cron поставили?
LittleDevil
LittleDevil 15 февраля 2011 | 07:45
+1
Подскажите, пожалуйста, как модифицировать часть, которая обновляет информацию в БД, если прогноз нужен для двух городов, скажем.
И огромное спасибо за кучу ценной информации! =)
Шамшур Иван
Шамшур Иван 15 февраля 2011 | 09:59
0
Вам нужно в начале подключиться к базе данных и получить список всех городов. А далее в цикле проделать все то, что описано в этой статье для одного города. Ну как-то так: $result = mysql_query("SELECT * FROM weather"); if (mysql_num_rows($result) > 0){ while ($myrow=mysql_fetch_array($result)){ $xml = simplexml_load_file("http://informer.gismeteo.ru/xml/".$myrow['city_id']."_1.xml"); //здесь идет остальной код, который описан в этой статье } }
Vector
Vector 18 февраля 2011 | 19:15
0
Нет! Не поставил на "cron". А как это сделать?
Шамшур Иван
Шамшур Иван 22 февраля 2011 | 10:27
0
В панели управления Вашим хостингом есть "планировщик задач Cron". Вот там надо прописать путь к файлу на сервере и задать время запуска скрипта! Как правильно прописать путь к файлу на Вашем сервере, лучше уточните у Вашего хостинг провайдера!
Александр
Александр 14 апреля 2011 | 12:19
0
Спасибо за статью! Всё получилось.
Но хотелось бы всё-таки выводить на сайте не только осадки (precipitation), но и облачность (cloudiness). Если можно, хотя бы в общих чертах опишите как это реализовать.
Шамшур Иван
Шамшур Иван 14 апреля 2011 | 12:49
0
Так мы учитываем облачность. Смотрите, в коде есть проверка:

switch ($myrow['cloudiness']){

case 0:

switch ($myrow['precipitation']){

case 4: $myrow['style'] = 'rainy-cloudy';break;

case 5: $myrow['style'] = 'rainy-cloudy';break;

case 6: $myrow['style'] = 'snow';break;

case 7: $myrow['style'] = 'snow';break;

case 8: $myrow['style'] = 'thunderstorm';break;

case 9: $myrow['style'] = 'clear';break;

case 10: $myrow['style'] = 'clear';break;

}

break;

и так далее ...

В начале идет проверка на облачность, а потом на осадки. Здесь Вы можете настроить так как Вам нужно и показывать соответствующие картинки!
Александр
Александр 14 апреля 2011 | 15:03
0
Спасибо за ответ. Но я не могу вывести картинку, отражающую оба параметра (облачность-осадки). Например, малооблачно, дождь. Или облачно, снег. Малооблачно без дождя -без проблем. Пасмурно, дождь - использую просто дождь (4). Проблема- только облачно и малооблачно с осадками
Шамшур Иван
Шамшур Иван 14 апреля 2011 | 15:32
+1
А почему не можете? В чем проблема? Надо только подготовить картинку и прописать новый стиль. Вот и все!
Александр
Александр 15 апреля 2011 | 12:19
0
Спасибо за оперативные ответы. В Вашем случае не устраивало то, что при значении cloudiness 1 или 2, картинка будет либо "ночная" с луной, либо дневная "с солнцем". Развил немного Вашу тему: добавил в таблицу ячейку "tod", в php файл стили для cloudiness, вывожу две картинки (одна cloudiness, под ней precipitation)- выглядят как одна. В зависимости от tod выводится либо луна за облаками, либо солнце.
результат:
_http://i.pixs.ru/storage/6/6/6/sunrainJPG_6495620_2036666.jpg

_http://i2.pixs.ru/storage/6/9/4/moonrainJP_5808758_2036694.jpg
Александр
Александр 17 апреля 2011 | 12:15
0
И ещё небольшое наблюдение. Тут жаловались, что погода на обновляется. Думаю, что это происходило в период с 21 до 24 часов, т.к. системное время в этот момент показывает сегодняшнюю дату, а XML на это время выдаёт погоду с завтрашней датой. Parser.php проверяет дату и НЕ записывает в базу значения для этого времени. Пришлось проверку даты убрать. Теперь, вроде всё. Спасибо.
Михаил
Михаил 27 октября 2011 | 14:09
0
Здравствуйте, Иван. Огромное спасибо за ваш труд! Возник вопрос. предоставляет ли gismeteo данные о прогнозе погоды, ну скажем на пару дней вперед?
Шамшур Иван
Шамшур Иван 27 октября 2011 | 14:14
0
На сколько мне известно, там только на сутки можно получить информацию в виде xml.
Алексей
Алексей 23 марта 2012 | 21:34
0
Большое спасибо за скрипт! Но почему-то в Москве идет снег, на сайте gismeteo тоже снег, а у меня на сайте "облачно". К скрипту претензий нет, - непонятно почему в xml, который отдается gismeteo, стоит precipitation=10, т.е. по идее без осадков...???
Дима
Дима 7 мая 2012 | 23:00
0
Все работало, но пару месяцев назад перестало. Должно выполняться это условие: if ($forecast["tod"] == $tod && $cur_date == $xml_date)
но проверяю переменные, условие это не выполняется. В чем может быть дело?
Кристианбах
Кристианбах 25 января 2013 | 15:56
0
Здравствуйте Иван! у меня тоже парсер не обновляется, правильно поставил на cron, но результатов нет, помогите пожалуйста! единственный нормальный парсер погоды на интернете и то не работает :(
llondon
llondon 14 ноября 2015 | 09:28
+1
Если нужны ID городом , пишите на мыло вышлю : murad.danilov2011@yandex.ru
boris
boris 1 июля 2019 | 01:47
+1
Нашел много полезной информации, так держать!!!
boriskas
boriskas 9 сентября 2019 | 21:28
+1
Прекрасная возможность разместить такой необходимый информер, при этом создает наполненность сайта в целом.
Eduard
Eduard 5 февраля 2020 | 12:19
0
Отличный информер для сайта, всё подробно описано и понятно! Автору удачи!
Denis
Denis 4 июня 2020 | 07:40
0
Спасибо, статья хорошая, жаль раньше не наткнулся))
поэтому я в свое время взял информер здесь там и вид можно настроить и дизайном возится не надо)))
в Мой дизайн их информер идеально вписался, плюс я честно говоря ссылку на их сайт скрыл в стилях и все))) работает!

Простая CRM