| |
 4.2 Кб |
|
| | Есть скрипт, который выводит даты новостей, при просмотре за май месяц все работает отлично, но при просмотре текущего месяца (июнь) - ничего не отображается? В чем ошибка? Спасибо. (скрипт во вложении). | |
| |
|
|
| |
|
|
| |
для: kis-kis
(06.06.2007 в 15:53)
| | | . | |
| |
|
|
| |
|
|
| |
для: Trianon
(06.06.2007 в 16:03)
| | | Простите, не понял?! | |
| |
|
|
| |
|
|
| |
для: kis-kis
(06.06.2007 в 17:54)
| | | Никто ничего не посоветует?(( | |
| |
|
|
| |
|
|
| |
для: kis-kis
(06.06.2007 в 17:54)
| | | это я погорячился. Извините.
заглянул внутрь, задал вопрос по скрипту....
Но потом понял, что один вопрос ничего не решит. И стер. | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 12:47)
| | | Так задайте их необходимое кол-во? )) | |
| |
|
|
| |
|
|
| |
для: kis-kis
(07.06.2007 в 13:59)
| | | Ок.
$month = (isset($month)) ? $month : date("m",time());
$year = (isset($year)) ? $year : date("Y",time());
$today = (isset($today))? $today : date("d", time());
Я не вижу ни одного использования $_GET.
Откуда берутся в скрипте все эти $month, $year, $today и прочие переменные? | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 15:02)
| | | Если не указан месяц - то месяц равен date("m",time()). Правильно?
А если указан - он указывается, вот здесь - 66 строка, при навигации:
echo "<tr><td width=100% colspan=\"5\" valign=\"middle\" align=\"center\">
<a href=/news/?year=".date('Y', $last_month)."&month=".date("m", $last_month)." title='Предыдущий месяц'>«</a>
<b>".$month_ru." ".$year." г.</b>
<a href=/news/?year=".date('Y', $next_month)."&month=".date('m', $next_month)." title='Следующий месяц'>»</a></td>";
|
| |
| |
|
|
| |
|
|
| |
для: kis-kis
(07.06.2007 в 16:26)
| | | Если не указан месяц - то месяц равен date("m",time()). Правильно?
При register_globals = off месяц таким образом указать будет невозможно. | |
| |
|
|
| |
|
|
| |
для: kis-kis
(07.06.2007 в 16:26)
| | | Здесь он не указывается.
Здесь всего лишь форма.
Случай register globals on я отметаю, и могу сказать почему.
Эта методика передачи параметров родилась у автора php - Расмуса Ледорфа.
Некоторое время она существовла в версии языка php3 - сейчас напрочь устаревшей.
Она предполагает достаточно четкое понимание того, как переменные передаются из форм. заголовков и прочих источников в скрипт.
Ни у новичков вообще, ни у Вас в частности такого понимания нет. Эта методика не для чеоловека, задающего вопрос в форум.
Если это утверждение Вы считаете издевательством - вот Вам ответ попроще.
У меня при тестировании в переменных $month, $year и $today не возникает ничего, кроме текущей даты. | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 16:55)
| | | Что посоветуете? | |
| |
|
|
| |
|
|
| |
для: kis-kis
(07.06.2007 в 17:02)
| | | Честно написать $month = (isset($_GET['month'])) ? $_GET['month'] : date("m",time());
и т.д.
Также определить $mmn_url_format
Notice: Undefined variable: mmn_url_format in z:\home\localhost\www\Test\test033.php on line 60
После этого полученный скрипт показать еще раз. | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 17:06)
| | | Кроме того, крайне актуально было бы приложить дамп структуры и данных таблицы news.
Иначе проверять логику работы не на чем. | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 17:12)
| | | Дамп - вложение.
$mmn_url_format = "no"; | |
| |
|
|
| |
|
|
| |
для: kis-kis
(07.06.2007 в 18:00)
| | | Проблема при работе Вашего скрипта вызвана тем, что цикл for($d = ... пробегает даты числами 1 2 3 ... 31 в то время как в запросе даты нужны в выровненном формате 01 02 03 ... 31
Проявляется она только на однозначных числах - в первой декаде месяца.
решением может быть $news_date = $year."-".$month."-".str_pad($d, 2, '0', STR_PAD_LEFT); | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 19:56)
| | | Точно! ))
Уже была в другом месте такая же проблема, но там я исправил... Спасибо Вам!
И еще: насколько правильно написан данный скрипт? Как Вы считаете? Или нужно что-то оптимизировать? | |
| |
|
|
| |
|
|
| |
для: kis-kis
(07.06.2007 в 20:10)
| | | Я уже не один раз Вам говорил, что он написан отвратно.
вот в этой теме я Вам на это указал: http://softtime.ru/forum/read.php?id_forum=3&id_theme=36626
Вот в этой теме http://softtime.ru/forum/read.php?id_forum=1&id_theme=36929
(из-за того, что Вам пофиг - Вы же не исправили код) я проигнорировал Ваш прямой вопрос.
В текущей теме, я сперва решил не связываться с Вами не в последнюю очередь опять же из-за этого 30 раз повторяющегося селекта. Вы сами напросились.
И сейчас Вы снова спрашиваете, хорош ли Ваш код.
Хорош. Только отстаньте. | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 20:21)
| | | :ops:
>Я уже не один раз Вам говорил, что он написан отвратно.
>вот в этой теме я Вам на это указал: http://softtime.ru/forum/read.php?id_forum=3&id_theme=36626
Если честно, то я просто не понял идею вашего кода, и как его нужно использовать... | |
| |
|
|
| |
|
|
| |
для: kis-kis
(07.06.2007 в 20:33)
| | |
....
for($z=1;$z<$denned1day;$z++)
{
echo "<td valign=middle align=center> </td>\n";
}
$sql = "SELECT DAYOFMONTH(data) AS dm, COUNT(id) as cnt FROM news
WHERE LEFT(data, 7) = '$year-$month'
GROUP BY dm";
$res = mysql_query($sql) or die("Error");
while($row = mysql_fetch_assoc($res)) $posts[$row['dm']]=$row['cnt'];
//выводим дни месяца
for($d=1;$d<=$numdays;$d++)
{
$days[$d]=rus_format(date("w",mktime(1,1,1,$month,$d,$year)));
if($days[$d]==1)
echo "<tr>";
{
echo "<td valign=\"middle\" align=\"center\">";
//$news_date = $year."-".$month."-".$d;
//$query = "select * from news where date(data) = '".$news_date."' GROUP BY date(data)";
//$result = mysql_query($query) or die("Error:<b> ". mysql_error()." </b>in file <b>".__FILE__."</b> on line <b>".__LINE__);
//$news_rows = mysql_num_rows($result);
$news_rows = 0 + @$posts[$d];
if($news_rows <> 0)
{
|
| |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 21:30)
| | | Спасибо. Очень признателен... )) | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 21:30)
| | | А с этим не поможете:
Мы брали условие, что $mmn_url_format = "no";
а если $mmn_url_format = "yes";
То как будет выглядеть данный код?
if ($mmn_url_format == "yes")
{
$news = mysql_fetch_array($res);
$news[data] = strtotime($news[data]);
echo "<a href=\"/news/".date("Y/m/d", $news[data])."\" title=\"Посмотреть все новости за ".russ_date('d F Y',$news[data])."\"><u>".$d."</u></a>";
}
|
Спасибо. | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 16:55)
| | | Это Вы мне что ли говорили? :)
UPD. Вроде нет. Извините. | |
| |
|
|
| |
|
|
| |
для: Unkind
(07.06.2007 в 17:12)
| | | > Unkind (07.06.2007 в 17:12) to: Trianon (07.06.2007 в 16:55) Это Вы мне что ли говорили? :)
Trianon (07.06.2007 в 16:55) to: kis-kis (07.06.2007 в 16:26) | |
| |
|
|
| |
|
|
| |
для: Trianon
(07.06.2007 в 17:14)
| | | У меня структурный вид. Сначала очень было похоже, что мне. | |
| |
|
|