Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - 3D-Dragon

Страницы: 1 [2]
16
Суть такова:

есть файл index.php (внутри - дизайн и два скрипта)

1-й скрипт
выводит новости за текущий день (сегодня)

2-й скрипт
выводит календарь с ссылками на прошлые новости (архив)

Вопрос:
Как спрятать показ текущих новостей (за сегодня) если вызывается показ прошлых новостей из календаря ?

Если создать вторую страницу для вывода архива, то конечно все работает без проблем.

Хочу все впихнуть в одну страницу.

Еще, забыл уточнить, что 1-й скрипт главный (выводится по defolt)

17
Я закончил административную часть своего новостного скрипта и подошел к части вывода новостей непосредственно на страницу.

Сначала хотел просто выводить последних 10 новостей, но в связи с тем, что на странице будет присутсвовать и календарь, теряется логичность этого вывода.

Я решил выводить новости автоматом за текущий день.
Проблема заключается в том, что новости не всегда обновляются ежедневно и при их отсутвстии будет показываться пустая страничка, а это не хорошо.


Вопрос:
----------
Как автоматически вывести новости, присутствующие в базе, только за один день и если за этот день новостей нет, то выводить новости за первый ближайший прошлый день с новостями ?

18
Вылез глюк

При попытке вставить в index.php фрагмент

if (!isset($PHP_AUTH_USER)) {
        Header("WWW-Authenticate: Basic realm=\\"My Realm\\"");
        Header("HTTP/1.0 401 Unauthorized");
        exit;
}

Apache выдает ошибку 500

Где рыть ?


И еще:
Какие есть способы авторизации пользователя на работу со скриптом PHP и как их можно реализовать ?
Как вообще можно организовать авторизированный доступ к администрированию скрипта ?

19
Календарь формирует ссылки на дни, в которых присутствуют записи в базе mySQL вот такого вида:

.../calendar.php3?view=news&dd=2001-12-05

Как мне вытащить все записи из базы именно за 2001-12-05 ?

У меня не получается правильно сформулировать запрос к базе.

20
В статье "Рабочие инструменты сайтостроителя. Часть 2" есть пример вывода календаря для новостей.

Вот первый фрагмент:

****************************************************
Алгоритмы формирования календаря на указанный год и месяц не представляют секрета, обычно отсчет ведется от 1 января каждого года. Большое количество функций PHP упрощает многие операции по формированию, сравнению и преобразованию дат. Так, функция mktime(), которая потребуется при составлении календаря, позволяет преобразовать дату в ее внутренний формат, а функция date() - выделить любой фрагмент из даты или изменить ее формат. При создании раздела новостей на сайте следует не только вывести календарь, но и отобразить в нем актуальные данные, соответствующие содержимому таблицы. Иными словами, дни месяца, для которых заведены новости, должны ссылаться на соответствующий гипертекстовый файл (этот файл, как и всю страничку новостей, следует формировать автоматически). Сопоставить дни месяца и записи таблицы позволяет следующий фрагмент кода, в котором сначала создается массив из 31 элемента, затем он заполняется единичными значениями, если хотя бы одна новость занесена в таблицу, или нулевыми значениями, если таких новостей нет.

$days=array();
for ($k=0;$k<32;$k++) { $days[$k]=0; }
// отбираем даты, которые попадают в диапазон
// от 1 числа текущего месяца
// до 1 числа следующего месяца
$fd=date("Y-m-d", mktime(0,0,0,$month,1,$year));
$ld=date("Y-m-d", mktime(0,0,0,$month+1,1,$year));
$sql1="select *, dayofmonth(pdate) as dnum from news where (pdate>=\'$fd\' and pdate<\'$ld\') group by pdate";
$r=mysql_db_query(dbname, $sql1);
for ($i=0; $i{
$f=mysql_fetch_array($r);
$nday=$f[dnum];
$days[$nday]=1;
}

****************************************************

Вот второй фрагмент:
****************************************************
После инициализации массива $days[] можно составить функцию для формирования календаря для указанного года и месяца. Функция showcalendar() представлена ниже.

function showcalendar($amonth, $ayear, $adays)
{
$first=mktime(0,0,0,$amonth,1,$ayear);
$wd=date( "w", $first);
if ($wd==0) { $wd=7; }
$lastday=date( "d",mktime(0,0,0,$amonth+1,0,$ayear));
$cur=-$wd+1;
$pred=time()-86400;
$curday=(int)date( "d",$pred)+1;
$curyear=(int)date( "Y",$pred);
$curmonth=(int)date( "m",$pred);
$stat=0;
if ($curyear==$ayear and $curmonth==$amonth) { $stat=1; }

print "";

for ($k=0;$k<6;$k++) {
print "";
for ($i=0;$i<7;$i++ ) {
$cur++;
if (($cur<=0) || ($cur>$lastday) ) print "";
else
{
$mkd=date("Y-m-d", mktime(0,0,0,$amonth,$cur,$ayear));
if ($cur==$curday and $stat==1)
{ if ($adays[$cur]==0) print ""; else print "";}
else
{ if ($adays[$cur]==0) print ""; else print "";}
}
}
print "";
}
print "
 $cur$cur$cur$cur
\\n";
}

****************************************************

Собственно суть проблемы:
Календарь у меня выводиться но без ссылок в тех датах где есть записи в базе.

Я так понял, что первый фрагмент нужно как-то вставить во второй, но вот куда именно не пойму :(
Или может я не так думаю.
Помогите пож-та разобраться.

21
Я начинающий в PHP помогите разобраться.

Я вставляю новости на сайте в зависимости от вызываемой даты (1810 - это например 18 октября)
в url путем вложения в index.php и добавления к ссылке $news=1810

$url = "";
if ($link == 1110) { $url = "news/1110.html"; }
if ($link == 1510) { $url = "news/1510.html"; }
if ($link == 1710) { $url = "news/1710.html"; }
if ($link == 1810) { $url = "news/1810.html"; }
# и т.д.
if ($url == "") { $url = "error.phtml"; }
INCLUDE ($url);

Этот список постоянно растет и очень неудобно его постоянно пополнять и редактировать.

Вопрос:
Как можно (если можно) присвоить дате (1810) переменную и вызывать eё из url типа
http://127.0.0.1/index.php?news=(переменная)
а потом эта переменная будет обрабатываться скриптом и выдавать нужную ссылку ?

Или как по другому организовать все это.
Хочу все это сделать на MySQL, но как у начинающего ничего не получается :(

22
PHP / PHPEd - помогите настроить его сервер
« : 14 Ноября 2001, 18:22:37 »
Просьба к тем кто пользуется редактором PHPEd 2.96.1.2
У меня никак не получается настоить его сервер, чтобы видеть результат работы скрипта.
Помогите, пожалуйста.

Страницы: 1 [2]