Программирование > PHP
Помогите разобраться с вложениями в PHP
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
Навигация
Перейти к полной версии