0

所以在我的博客页面上,我使用 substr 只显示一些文章。这个想法是,一旦有人单击其中一个标题,他们就会被发送到显示全文的页面。

当我单击链接时,我在 url 中获得了正确的标题,例如,我单击第 4 个博客条目,我将被重定向到 index.php?id=4。问题是在此页面上的内容保持不变,没有任何变化。我如何获得它,所以当我单击该文章时,我将被定向到仅包含该文章的完整页面而没有其他文章。在此先感谢伙计们,这整天都在困扰我。

<?php
$dbinfo = "SELECT blog_id, title, date, body FROM content ORDER BY blog_id DESC LIMIT 0, 3";
$result = mysql_query($dbinfo) or die(mysql_error());
$return = '<p><a href="index.php"> Go Back To Content Page</a></p>';


if(mysql_num_rows($result) !=0):
    while($row = mysql_fetch_assoc($result)){
    echo '<div id="roundedbox"><h2><a href="index.php?id=' . $row['blog_id'] . '">' .  $row['title'] . ' </a></h2>';
    echo '<div id="date"><h5><p>' . $row['date'] . '</p></h5></div>';
    echo substr('<p>' . $row['body'] . '</p>',0, 90)." .... "." read more</div>";

}
else:
    echo '<p> UH OOH! THERE IS NO SUCH PAGE IT DOES\'T EXIST </p>'; 
    echo $return;
    endif;  
?>
4

1 回答 1

0

您在代码中的查询将返回表的所有记录,您想要的是根据 $_GET['id'] 中的 id 参数返回记录的查询。确保只使用整数来防止 sql 注入是个好主意。

从您的代码中,您需要有一个单独的查询来使用 $_GET['id'] 参数获取适当的记录,如下所示...

    //the parameter is set and it is an integer
        if(isset($_GET['id']) && is_int($_GET['id'])) {
            $blogId = (int)$_GET['id'];
            $query = "SELECT blog_id, title, date, body FROM content WHERE blog_id='$blogId'";
            // run query and get record data and output it

        } else {
            //code to return all records as list
            $dbinfo = "SELECT blog_id, title, date, body FROM content ORDER BY blog_id DESC LIMIT 0, 3";
            $result = mysql_query($dbinfo) or die(mysql_error());
            $return = '<p><a href="index.php"> Go Back To Content Page</a></p>';


           if(mysql_num_rows($result) !=0):
           while($row = mysql_fetch_assoc($result)){
           echo '<div id="roundedbox"><h2><a href="index.php?id=' . $row['blog_id'].$row['title'] . ' </a></h2>';
           echo '<div id="date"><h5><p>' . $row['date'] . '</p></h5></div>';
           echo substr('<p>' . $row['body'] . '</p>',0, 90)." .... "." read more</div>";

           }
           else:
             echo '<p> UH OOH! THERE IS NO SUCH PAGE IT DOES\'T EXIST </p>'; 
             echo $return;
           endif; 
          }
于 2013-06-12T14:08:03.683 回答