从同一页面的url获取id

时间:2014-03-20 12:12:02

标签: php mysql get toggle

我正在使用切换可见性功能,以便在一个页面中显示和隐藏div。

点击此链接新闻会显示一个div,其中使用此代码从数据库中显示所有当前新闻。

        <?php 
include"scripts/connect_to_mysql.php";
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

$news="";
$sql=mysql_query("SELECT *
FROM `news` 
ORDER BY date DESC"); 
$newsCount=mysql_num_rows($sql);
if ($newsCount>0) {
    while($row=mysql_fetch_array($sql)){
        $id=$row["id"];
        $title=$row["title"];
        $text=$row["text"];
        $date=$row["date"];
        $news.=' <table width="800" border="0">
  <tr>
    <td style="width:150px;">' . $date . '</td>
    <td style="width:600px; overflow:hidden;"><a href="#?id=' . $id . '" onclick="toggle_visibility(\'news_det\');" style="color:#b19057;" >' . $title . '</a></td>
    <td style="width:50px"><a href="#?id=' . $id . '" onclick="toggle_visibility(\'news_det\');" style="color:#000;">...more</a></td>
  </tr>
</table>
';
    }

}else {
    $news="No news available yet";
}

?>

问题是,通过点击结果,会出现详细新闻应该出现的div,但我无法从数据库中获取数据。

我使用此代码获取之前链接发送的ID。

if(isset($_GET['id'])){
    $newsid= preg_replace('#[^0-9]#i','',$_GET['id']);
    $sql = mysql_query("SELECT * FROM news WHERE id='$newsid' LIMIT 1");
    $newsCount1 = mysql_num_rows($sql); 
    if ($newsCount1 > 0) { 
    while($row = mysql_fetch_array($sql)){

        $dettitle = $row["title"];
        $dettext = $row["text"];
        $detdate = $row["date"];

    }


    }
    else {
        echo "No news with that id";
        exit();
    }
}

我做错了什么?

2 个答案:

答案 0 :(得分:0)

如何使用PHP获取变量? 假设您有一个名为people.php的PHP页面。现在,您可以使用以下URL调用此页面:

people.php?name=Joe

使用PHP,您将能够获得变量&#39; name&#39;的值。像这样:

$_GET["name"]

因此,您使用文档$_GET来查找命名变量的值。我们来试试吧:

 <html>
    <head>
    <title>Query string</title>
    </head>
    <body>

    <?php

    // The value of the variable name is found
    echo "<h1>Hello " . $_GET["name"] . "</h1>";

    ?>

    </body>
    </html>

答案 1 :(得分:0)

可能是因为你正在使用&#39;#&#39;在链接

href="#?id=' . $id . '"更改为href="?id=' . $id . '"

如果您没有刷新页面,那么您应该使用ajax。