2013-02-28 2 views
1

Вчера я задал этот вопрос: https://stackoverflow.com/questions/15117767/add-dynamic-content-to-otherwise-static-php-page Извините, что не очень точный вопрос. Я сделал намного больше сейчас, но у меня все еще есть несколько вопросов.Получите идентификационный номер из базы данных и создайте динамические ссылки на новости

мне удалось поставить свою новость в таблицу базы данных со следующими столбцами: "ID", "news_headline", "news_date", "news_teaser", "news_content", "news_external_link"

На моих новостях /index.php у меня есть следующий код прямо сейчас:

<?php 
    $con=mysqli_connect("localhost", "XXX", "oizQvdjh", "usr_web3_1"); 
    // Check connection 
    if (mysqli_connect_errno()) 
    { 
      echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
    $result = mysqli_query($con,"SELECT * FROM tbl_news ORDER BY id DESC"); 

    while($row = mysqli_fetch_array($result)) 
    { 
     echo "<li class='clearfix'>"; 
     echo "<a class='news_pic'><img src='/assets/images/news/news_".$row['id'] 
        ."_thumb.jpg'></a>"; 
     echo "<h2 class='info_headline'>" . $row['news_headline'] . "</h2>"; 
     echo "<p class='date'>" . $row['news_date'] 
        . " &ndash; <a href='#disqus_thread'></a></p>"; 
     echo "<p class='news_text'>" . $row['news_teaser'] 
        . "<br><a class='more-link' href='WHERE_TO'>Read more</a></p>"; 
     echo "</li>"; 
    } 

    mysqli_close($con); 
?> 

все выглядит отлично там, и она извлекает все мои новости из базы данных (пяти до сих пор) и получает изображение, которое я загрузил сам на сервере с именами согласно id.

Единственная сторона News имеет один и тот же код, за исключением того, что есть «где» заявление и захватывает текст контента и не тизер:

$result = mysqli_query($con,"SELECT * FROM tbl_news WHERE id='1' ORDER BY id DESC"); 

while($row = mysqli_fetch_array($result)) 
{ 
    echo "<h2>" . $row['news_headline'] . "</h2>"; 
    echo "<p class='date'>" . $row['news_date'] 
     . " &ndash; <a href='#disqus_thread'></a></p>"; 
    echo "<a class='news_pic'><img src='/assets/images/news/news_".$row['id']." 
     .jpg'></a>"; 
    echo "<p class='news_text'>" . $row['news_content'] . "</p>"; 
} 

mysqli_close($con); 

?> 

Теперь мой вопрос. Как мне сохранить файл из одной новости, чтобы получить ее динамически updatet. В моем индексе, где href говорит «WHERE TO», мне нужна ссылка, например <a href="<?php echo $row['news_date'] + slug (я бы добавил столбец в моей таблице).

Затем необходимо создать новостной однофайловый php, а также указать дату и пропустить URL-адрес. Как и XXX/news/2013-02-18_this-is-a-news-site.php Я знаю, что для этого мне также нужно поместить переменную в команду WHERE: вместо WHERE id=1 -> id = "GET AUTOMATICALLY" , Я также не знаю, что здесь положить.

ответ

0

Ваш вопрос не очень понятно, кстати:

Вам необходимо включить mod_rewrite и выбрать соответствующее правило перезаписи.

Создайте файл .htaccess, как это:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)\?*$ index.php?path=$1 [L,QSA] 

URL как

http://your.site.com/news/2012/10/22 

будут преобразованы в

http://your.site.com/index.php?path=/news/2012/10/22 

Get 'путь' из строк запроса и создать запрос , Обязательно тщательно очищайте входной сигнал.

2012/10/22 - это почти действительная дата mysql: просто замените '/' на '-'.

$dt=str_replace('/','-',substr($path,6)); 

Обеспечить это является действительной датой:

$dt=date('Y-m-d',strtotime($dt)); 

Теперь ваш запрос может быть

$query="SELECT * FROM tbl_news WHERE news_date='$dt'"; 

Этот запрос даст вам все новости за определенный день.

+0

Я не думаю, что это то, что мне нужно, или, по крайней мере, не все. Мне нужна функциональность, например, в Wordpress. Там у меня есть php-файл «single.php», где весь мой единственный пост-контент добавляется из базы данных.Мне нужно что-то подобное для моего сайта с новостями, так что у меня есть только один файл со всем кодом. Из моего сайта индекса новостей я ссылаюсь на эту сторону с динамически добавленной датой + слизью, которая захватывается из базы данных. – Alatus

+0

Это то же самое. Измените правило перезаписи и используйте нужный сценарий. – Ghigo

+0

Хмм ... Я попытаюсь понять это. Что я должен был бы поставить на href = "" на моей странице индекса новостей? И еще мой вопрос о том, что поставить в единственную страницу новостей, а не: WHERE id = 1. Как получить текущий идентификатор? – Alatus

Смежные вопросы