Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Можно ли упростить запрос
 
 автор: kis-kis   (15.01.2009 в 16:45)   письмо автору
2 Кб
 
 

Данный запрос выводит таблицу погоды на 12 ближайших колонок времени wtime.

Можно ли упростить данный запрос? Не сильная ли нагрузка на БД от него?
Заранее спасибо. Дамп во вложении.


$today_date = date("Y-m-d");
$now_time = date("Y-m-d H:i:s");

$query_wdays = "SELECT * FROM `weather` where wdate >= '$today_date' and wtime >= '$now_time' limit 12";
$result_wdays = mysql_query($query_wdays) or die("Error:<b> ". mysql_error()." </b>in file <b>".__FILE__."</b> on line <b>".__LINE__);
if (mysql_num_rows($result_wdays)!=0)
{
echo "\n<table width=\"100%\">\n";

$nd = "0";

while($wday = mysql_fetch_array($result_wdays))
{

$query_lines = "SELECT wdate, count(id) as numl FROM `weather` where wdate = '$wday[wdate]' and wtime >= '$wday[wtime]' group by wdate";
$result_lines = mysql_query($query_lines) or die("Error:<b> ". mysql_error()." </b>in file <b>".__FILE__."</b> on line <b>".__LINE__);
$num_line = mysql_fetch_array($result_lines);

if ($nd == "0") echo "<tr>\n<td>День</td>\n<td>Время</td>\n<td>Осадки</td>\n<td>Температура</td>\n<td>Давление (мм)</td>\n<td>Ветер (м/с)</td>\n<td>Влажность (%)</td>\n</tr>\n";
echo "<tr>\n";
if ($nd == 0) { echo "<td rowspan=\"".$num_line[numl]."\">".$wday['wdate']." (".$nd.") (".$num_line[numl].")</td>\n"; $ndn = $nd + $num_line[numl];}
if ($nd == $ndn) { echo "<td rowspan=\"".$num_line[numl]."\">".$wday['wdate']." (".$nd.") (".$num_line[numl].")</td>\n"; $ndn = $nd + $num_line[numl]; }

echo "<td>".$wday['wtime']."</td>\n<td>".$wday['wsky']."</td>\n<td>".$wday['wtemp']."</td>\n<td>".$wday['wpressure']."</td>\n<td>".$wday['wind']."</td>\n<td>".$wday['whumidity']."</td>\n";
echo "</tr>\n";
$nd++;
}
echo "</table>";
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования