如何为新闻网站动态生成“阅读更多”链接

时间:2013-11-12 08:43:10

标签: php html css

我正在做新闻网站并从这样的数据库中获取新闻

<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>

现在我想要做的是我希望阅读更多链接来反对他们重定向到news_details.php的每个新闻项目,那里会显示单个新闻,我如何得到它,请求帮助我

4 个答案:

答案 0 :(得分:2)

首先,您需要构建news_detail.php,以处理单个帖子查看。在那里,你需要决定要带哪些新闻细节,通常人们会用id来做。然后,您需要传递来自href='news_details.php?id=your_id_here'

等链接的ID

答案 1 :(得分:1)

您应该在数据库中有新闻ID。当您检索所有新闻并在循环中打印时,您应该使用以下代码。我不知道数据库中新闻id列名的名称是什么

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

现在您应该编写新闻详细信息的代码。你应该从数据库中查询使用get方法接收新闻id并打印到循环中。

更新: 在news_details.php中,您应该通过GET方法$_GET["id"]接收新闻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'] ;
}

试试这个。

答案 2 :(得分:0)

您可以为特定新闻设置单独的链接,例如

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

答案 3 :(得分:0)

使用以下步骤:

1)您可以使用php substr将新闻内容截断为多个单词。然后在下面添加Read More链接。

您的代码如下所示:

<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开始,100结束。

2)使用Kuzgun的答案

另请阅读:

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