2013-11-12 3 views
-1

Я делаю сайт новостей и загрузку новостей из базы данных, как этогоКак я могу генерировать «читать далее» ссылку динамически для новостного сайта

<div class="left-content nine-column" style="font-size:13px; line-height:25px; font-family:open sans;"> 
    <?php 
     $qry = "Select * from tbl_news"; 
     $result = null; 
      if(!$result = mysqli_query($con,$qry)) 
       Die("Error in database"); 
      else 
      { 
       if(mysqli_num_rows($result) >= 1) 
       { 
        while(($rec = mysqli_fetch_assoc($result)) != null) 
        { 
         echo '<div class="post"> 
         <h1>'. $rec['news_heading'] .'</h1> 
         <ul class="post-meta"> 
         <li><a href="" title=""><i class="icon-calendar-empty"></i><span>'. $rec['news_date'] .'</span></a></li> 
         <li><a href="" title=""><i class="icon-user"></i>By'.$rec['postedby'].'/a></li> 
         <li><a href="" title=""><i class="icon-map-marker"></i>'.$rec['news_location'].'</a></li> 
         </ul> 
         <div class="post-desc"> 
         <p>'.$rec['news_ldesc'].'          

         <!-- here i want read more link --> 
         </p>       
         <br/> 
         </div> 
         </div> '; 

        } 
       } 
      }   

      ?> 
     </div> 

Теперь то, что я хочу сделать, это я хочу читать далее ссылку против каждой новости item их перенаправляет на news_details.php, и что там будут показаны единственные новости, как мне это получить, просьба помочь мне с этим

+0

[ 'Это должны делать трюк ....'] (http://stackoverflow.com/ вопросы/4258557/limit-text-length-in-php-and-обеспечить-read-more-link) – Darren

ответ

1

У вас должен быть идентификатор новостей в базе данных. Когда вы извлекаете все новости и печатаете в цикле, вы должны использовать следующий код. Я не знаю, что это имя имя столбца Новости ID в базе данных

echo '<a href="news_details.php?id='.$rec['news_id'].' ">Read More</a>'; // news_id should be matched with database column name

Теперь вы должны написать код для деталей новостей. Вы должны запросить из базы данных получение идентификатора новостей с помощью метода get и печати в цикле.

UPDATE: в news_details.php вы должны получить значение идентификатора новостей методом GET $_GET["id"], а затем написать код получить строку таблицы базы данных. т.е.

$newsId = $_GET["id"]; 
$qry = "Select * from tbl_news where id = $newsId "; 

$result = mysqli_query($con,$qry); 

while($row = mysqli_fetch_array($result)) 
{ 
    echo $row['news_ldesc'] ; 
} 

Попробуйте это.

+0

Я пробовал то же самое в URL-адресе, он показывает http: //localhost/Theme/news_detail.php? id = 1, но нет результаты, просто balnk страница –

+0

Я обновил свой ответ, где вы получите то, что вы должны сделать позже – StreetCoder

2

Прежде всего, вам нужно создать news_detail.php для обработки одного сообщения. Там вам нужно решить, какую новость нужно внести, обычно люди делают это с id. Затем вам необходимо передать идентификатор из ваших ссылок, например href='news_details.php?id=your_id_here'

0

вы можете установить отдельную ссылку для конкретной новости как

href='news_description.php?id='.base64_encode($id) 
0

Используйте следующие шаги:

1) Вы можете использовать php substr укоротить свое содержание новостей для ряда слов. а затем добавьте ссылку «Подробнее» ниже.

Ваш код будет, как показано ниже:

<div class="left-content nine-column" style="font-size:13px; line-height:25px; font-family:open sans;"> 
     <?php 
      $qry = "Select * from tbl_news"; 
      $result = null; 
      if(!$result = mysqli_query($con,$qry)) 
      Die("Error in database"); 
      else 
      { 
      if(mysqli_num_rows($result) >= 1) 
      { 
      while(($rec = mysqli_fetch_assoc($result)) != null) 
      { 
      echo '<div class="post"> 
      <h1>'. $rec['news_heading'] .'</h1> 
      <ul class="post-meta"> 
      <li><a href="" title=""><i class="icon-calendar-empty"></i><span>'. $rec['news_date'] .'</span></a></li> 
      <li><a href="" title=""><i class="icon-user"></i>By'.$rec['postedby'].'/a></li> 
              <li><a href="" title=""><i class="icon-map-marker"></i>'.$rec['news_location'].'</a></li> 
     </ul> 
     <div class="post-desc"> 
     <p>'.substr($rec['news_ldesc'], 0, 100).'          

      <!-- here i want read more link --> 
      </p>       
     <br/> 
     </div> 
     </div> '; 

         } 

        } 
       }   

      ?> 
     </div> 

, если вы видите, я использовал substr($rec['news_ldesc'], 0 , 100) которые усечение вашего содержания новостей до 100 слов. 0 start и 100 - конец.

2) Используйте ответ Кузгун

прочитать Кроме того, это:

How can I truncate a string to the first 20 words in PHP?

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