Программирование > PHP

Помогите разобраться с вложениями в PHP

(1/4) > >>

3D-Dragon:
Я начинающий в 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, но как у начинающего ничего не получается :(

VaV:

--- Цитировать ---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"; }
--- Конец цитаты ---


можно заменить без mysql
для вывода всех новостей по возрастанию

for ($i=1;$i<=12;$i++) {
 for ($j=1;$j<=31;$j++) {
 {
  $link=$i.$j;
  $url="news/".$link.".html";
  if (@fopen ($url, "r") { INCLUDE ($url);} 
 }
}


могут быть неточности с fopen
звиняйте ляпал быстро по теории

Stek:
Если правильно понял

$link=trim($link);

if ($link) {
 $url="news/".$link.".html";
}
else {
 $url = "error.phtml";
}
INCLUDE ($url);

Britva:
в MySQL усе просто

create table news(
id int(11) NOT NULL auto_increment,
date datetime,
body text,
PRIMARY KEY  (id),
UNIQUE KEY id (id)
)

а потом с помощью php выводить:

$result = mysql_query("select * from news order by date desc limit 5");
while($row = mysql_fetch_array($result)) {
  print $row["date"]." - ".$row["body"]."
\\n";
}

order by date desc - сортировать по дате,
limit 5 выводить последние пять новостей.

а добавлять -
mysql_query("insert into news values(\'\', \'2001-11-27 11:11:11\', \'моя новость номер 1\')");

можно просто поле date а не datetime, тогда будет просто \'2001-11-27\'

3D-Dragon:
Спасибо, не ожидал так быстро ответа и столько вариантов !!!
Уже запутался :(

Britva
Я все таки хочу это сделать на MySQL.

Дело в том что новости выходят не всегда ежедневно и выводить их нужно по ссылкам из календаря.
Если "не влом" глянь структуру на http://all-xp.net.ru

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии