|
 14.2 Кб |
|
| Привожу большой код если что спрашивайте.
$query = mysql_query("SELECT YEAR(`date`) AS `year` FROM `data` GROUP BY `year` DESC",$db);
if(mysql_num_rows($query) > 0)
{
echo " <form id='form'>
<center>Выберите год: <select name='view_year'>";
while (list($year) = mysql_fetch_row($query))
{
echo " <option>$year</option> ";
}
echo " </select> <input class='search_b' value='Применить' name='sub_y' type='submit' /></center>
</form><br>";
}
if (isset($_GET['view_year'])) { $view_year = $_GET['view_year'];}
if (isset($_GET['sub_y'])) { $sub_y = $_GET['sub_y'];}
$month_names = array
(
"01" =>'Январь',
"02" =>'Февраль',
"03" =>'Март',
"04" =>'Апрель',
"05" =>'Май',
"06" =>'Июнь',
"07" =>'Июль',
"08" =>'Август',
"09" =>'Сентябрь',
"10" =>'Октябрь',
"11" =>'Ноябрь',
"12" =>'Декабрь'
);
if(!isset($view_year) or !isset($sub_y))
{
exit();
}
else
{
$result4 = mysql_query("SELECT DISTINCT left(date,7) AS month FROM data ORDER BY month DESC",$db);
for($i=0;$i<mysql_num_rows($result4);++$i)
{
$myrow4 = mysql_fetch_row($result4);
if (substr($myrow4["0"],0,4)==$view_year)
{
if (substr($myrow4["0"],5,7)=='12')
{
$a = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=12""><u>'.$month_names[12].'</u></a>|<br>';
}
if (substr($myrow4["0"],5,7)=='11')
{
$b = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=11""><u>'.$month_names[11].'</u></a>';
}
if (substr($myrow4["0"],5,7)=='10')
{
$c = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=10""><u>'.$month_names[10].'</u></a>';
}
if (substr($myrow4["0"],5,7)=='09')
{
$d = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=09""><u>'.$month_names[09].'</u></a>'; //ругается на эту строку
//$d = "<a href=''><u>$month_names[09]</u></a>"; //если эту раскоментировать, а предыдущую закоментировать, то будет все ок...но мне нужна именно что выше
}
if (substr($myrow4["0"],5,7)=='08')
{
$e = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=08""><u>'.$month_names[08].'</u></a>';
}
if (substr($myrow4["0"],5,7)=='07')
{
$f = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=07""><u>'.$month_names[07].'</u></a>';
}
if (substr($myrow4["0"],5,7)=='06')
{
$g = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=06""><u>'.$month_names[06].'</u></a>|<br>';
}
if (substr($myrow4["0"],5,7)=='05')
{
$k = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=05""><u>'.$month_names[05].'</u></a>';
}
if (substr($myrow4["0"],5,7)=='04')
{
$l = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=04""><u>'.$month_names[04].'</u></a>';
}
if (substr($myrow4["0"],5,7)=='03')
{
$m = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=03""><u>'.$month_names[03].'</u></a>';
}
if (substr($myrow4["0"],5,7)=='02')
{
$p = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=02""><u>'.$month_names[02].'</u></a>';
}
if (substr($myrow4["0"],5,7)=='01')
{
$o = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=01""><u>'.$month_names[01].'</u></a>';
}
}
}
}
if (!isset($a))
{
$a = "$month_names[12]|";
}
if (!isset($b))
{
$b = "$month_names[11]";
}
if (!isset($c))
{
$c = "$month_names[10]";
}
if (!isset($d))
{
$d = "$month_names[09]";
}
if (!isset($e))
{
$e = "$month_names[08]";
}
if (!isset($f))
{
$f = "$month_names[07]";
}
if (!isset($g))
{
$g = "$month_names[06]|<br>";
}
if (!isset($k))
{
$k = "$month_names[05]";
}
if (!isset($l))
{
$l = "$month_names[04]";
}
if (!isset($m))
{
$m = "$month_names[03]";
}
if (!isset($p))
{
$p = "$month_names[02]";
}
if (!isset($o))
{
$o = "$month_names[01]";
}
echo "<center class='pstrnav2'>| $o | $p | $m | $l | $k | $g | $f | $e | $d | $c | $b | $a </center><br><br>";
if (isset($_GET['month'])) { $month = $_GET['month'];} else { exit(); }
$date = "$view_year-$month";
$date_first = $date."-01";
$date_second = $date."-31";
$result7 = mysql_query("SELECT `data`.*, COUNT(`comments`.`post`) AS `counts` FROM `data` LEFT JOIN `comments` ON `comments`.`post` = `data`.`id` WHERE date >= '$date_first' AND date <= '$date_second' GROUP BY `data`.`id` ORDER BY id ",$db);
if (!$result7)
{
echo "<p>Запрос на выборку данных из базы не прошел! <br> <strong>Код ошибки:</strong></p>";
exit (mysql_error());
}
if (mysql_num_rows ($result7)>0)
{
$myrow7 = mysql_fetch_array($result7);
do
{
@$r = $myrow7["rating"]/$myrow7["q_vote"];
$r = intval($r);
printf ("<table class='post' cellspacing='0' cellpadding='0'>
<tr>
<td class='post' colspan='3'><h2>%s<div style='margin-bottom:12px' align='left'><span class='postinfo'>Дата добавления: %s<br>Фильм добавил: %s</span></h2></div></td>
</tr>
<tr>
<td class='post' colspan='3'><img class='centerimg' src='%s'></td>
</tr>
<tr>
<td class='post' colspan='3'><div style='margin-bottom:12px' align='justify'><p> %s</p></div></td>
</tr>
<tr>
<td class='post' colspan='3'>
<div style='margin-bottom:12px' align='left'>
<span class='postinfo'><strong><u>Статистика по фильму:</u></strong><br>Отданых голосов: <b style='color:#CC9900'>%s</b> - рейтинг: <img style='margin:0px; border:0px; background:#f6f6f6; padding:0px; margin-top:0px;' src='images/%s.GIF'><br>Фильмов в прокате: <b style='color:#CC9900'>%s</b> шт.<br>Фильмов на руках: <b style='color:#CC9900'>%s</b> шт.<br>Просмотров полного описания: <b style='color:#CC9900'>%s</b> раз(а)<br>Комментариев: <b style='color:#CC9900'>%s<b></span>
<div style='margin-bottom:12px' align='right'>
<span class='postinfo'><a href='view_full.php?id=%s'>Перейти к фильму</a></span>
</div>
</div>
</td>
</tr>
</table>",$myrow7["title"],$myrow7["date"],$myrow7["author"],$myrow7["mini_img"],$myrow7["description"],$myrow7["q_vote"],$r,$myrow7["v_nal"],$myrow7["n_ruk"],$myrow7["view"],$myrow7["counts"],$myrow7["id"]);
}
while ($myrow7 = mysql_fetch_array($result7));
}
else
{
echo "<span class='info'>За даный период фильмов не существует!</span>";
exit();
}
|
Ругается Notice: Undefined offset: 0 на
if (substr($myrow4["0"],5,7)=='09')
{
$d = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=09""><u>'.$month_names[09].'</u></a>';
}
|
Почему оно считывает 09 как 0???
Кто внимательный помогите плз. Прилагаю скриншот. | |
|
|
|
|
|
|
|
для: TetRiska
(30.11.2008 в 04:00)
| | ОЁЁЁЁЙ!!!!!! Ну для начала, давайте я помогу научиться правильно оформлять код здесь, на форуме.
1. Перед PHP кодом обязательно открывайте тег, тогда будет подсветка. вот так:
<?
// Вот видите - желтенький
|
2. Не пишите длинных строк. Даже на большом мониторе появляется горизонтальный скроллинг. Делайте переносы.
3. Если выкладываете весь свой сценарий, то лучше в аттаче, вместе с SQL, чтоб можно было поставить. А в пост только проблемный участок.
Ну а вообще все на столько не правильно, что гараздо проще написать новый, чем править этот.
Опишите полностью задачу, только четко и подробно, по пунктам. Я попробую Вам помочь, как видно это давно Вас мучает. | |
|
|
|
|
 10.7 Кб |
|
|
для: Николай2357
(30.11.2008 в 04:25)
| | Очень давно мучает:) Задача решена на 99.9%, но есть один нотис.
<?
if (substr($myrow4["0"],5,7)=='09')
{
$d = '<a href="full_arh?view_year='.$view_year.'&sub_y='.$sub_y.'&month=09""><u>'.$month_names[09].'</u></a>';
}
?>
|
В $myrow4["0"] указана дата 2008-09, функцией substr мы выбераем только месяц 09. Но почему то пишет 0, и сравнение далее не проходит . С 12-го по 10-й месяца все норм. Ниже 10-го такой прикол =\
Задача моя была в следующем:
1. Сделать выпадающий список в котором будут только года - сделал
2. При выборе года и нажатии на кнопку выведется весь список месяцев - сделал
3. Те месяца которые принадлежат этому году будут подчеркнуты - сделал
4. Подчеркнутые месяца сделать ссылками на эту же страницу где будет осуществятся выборка фильмов за этот месяц этого года - сделал на 99.9% , ругается на 09, 08 и тд месяца, функция субстринг чего то считывает не 09, а - 0.
5. Конец :)
Приложил таблицы и код, мож придется копатся в нем))) | |
|
|
|
|
|
|
|
для: TetRiska
(30.11.2008 в 05:19)
| | $myrow4["0"] - уберите кавычки из всех индексов, они тут совсем не нужны. $month_names[09] - а это что за зверь? Вы можете строку брать как число (intval(string)) и проверять уже числа. Почитайте вы в конце концов о функциях работы с датами, массивами, строками. Потренеруйтесь на простых примерах, уясните что это такое. Вы из поста в пост одни и те же ошибки переносите, хотя вам не раз указывали на них. | |
|
|
|
|
|
|
|
для: sim5
(30.11.2008 в 05:38)
| | $month_names[09] - переводит месяц 09 в Сентябрь | |
|
|
|
|
|
|
|
для: TetRiska
(30.11.2008 в 15:54)
| | Так у Вас вроде ассоциативный массив, тогда надо строковое значение в качестве ключа, то есть в кавычки его. $month_names["09"] А вообще это шедевр - такой обработчик... | |
|
|
|
|
|
|
|
для: Николай2357
(30.11.2008 в 16:27)
| | шедевр тоесть много мусора?) или норм? $month_names["09"] хмм и как же я не попробовал такой вариант:) все теперь работает нормалек:) благодарю....но я попробую тот вариант, что Вы мне привели, он не такой громоздкий будет:)
вот можете протестировать :) http://cinema-art.od.ua/full_arh.php | |
|
|
|
|
|
|
|
для: TetRiska
(30.11.2008 в 15:54)
| | Уберите 0 перед 9 | |
|
|
|
|
|
|
|
для: BinLaden
(30.11.2008 в 16:42)
| | сдесь убрать 0?
if (substr($myrow4["0"],5,7)=='09')
| непроканает у меня ж формате атком дата хранится 2008-09-11..вот я субстрингом указал 5,7( с какого по какой брать значение ) вот мне и должно брать 09, с 10,11,12 месяцами норм рабоатет. | |
|
|
|
|
|
|
|
для: TetRiska
(30.11.2008 в 05:19)
| | Если я правильно уловил идею, Вам нужно что то типа этого?
<?
function selicted($select)
{
if($select == $_GET['view_year'])
return "selected";
}
$query = mysql_query("SELECT YEAR(`date`) AS `year` FROM `data` GROUP BY `year` DESC",$db);
if(mysql_num_rows($query) > 0)
{
echo " <form id='form' methog='get'>
<center>Выберите год:<select onchange=\"document.getElementById('form').submit()\" name='view_year'>";
while (list($year) = mysql_fetch_row($query))
{
echo " <option ".selicted($year)." value='".$year."' >".$year."</option> ";
}
echo "</select></center>
</form><br>";
}
$view_year = isset($_GET['view_year'])?$_GET['view_year']:null;
$sub_y = isset($_GET['sub_y'])?$_GET['sub_y']:null;
$month_names = array
(
1 =>'Январь',
'Февраль',
'Март',
'Апрель',
'Май',
'Июнь',
'Июль',
'Август',
'Сентябрь',
'Октябрь',
'Ноябрь',
'Декабрь'
);
$result4 = mysql_query("SELECT DISTINCT left(date,7) AS month FROM data ORDER BY month DESC",$db);
while($row = mysql_fetch_row($result4))
{
$date = strtotime($row[0]);
if(date("Y", $date)==$view_year)
echo date("Y", $date)."<a href='?view_year=".date("Y", $date)."&sub_y=".date("n", $date)."'>
<u> ".$month_names[date("n", $date)]."</u></a><br>";
else
echo date("Y", $date)." ".$month_names[date("n", $date)]."<br>";
}
| Если я в правильном направлении - продолжим. | |
|
|
|
|