1

如果单击链接,我正在尝试从数据库中获取数据。

我使用了此示例中建议的示例代码 -单击链接时获取 mysql 字段数据?

但是当我点击一个链接时它不起作用,什么也没有出现。

主文件

<?php
include('conn.php');
$sql2    = "SELECT Title FROM addpromo";
$result2 = mysql_query($sql2);

echo "<div id=\"links\">\n";
echo "<ul>\n";
while ($row2 = mysql_fetch_assoc($result2)) {
    echo "<li> <a href=\"fullproject.php?title=\""
        . urlencode($row2['Title']) . "\">"
        . htmlentities($row2['Title']) . "</a>\n</li>";
}
echo "</ul>";
echo "</div>";
?>

这显示正确。但是当我单击一个链接时,fullproject.php 中没有显示任何内容,只是一个空白页面。

完整项目.php

<?php
// Connect to server.
include('conn.php');
$projectname = isset($_GET['Title']);
$sql1 = "SELECT Title FROM addpromo WHERE Title = '$projectname'";
$result1 = mysql_query($sql1);

while ($row1 = mysql_fetch_assoc($result1)) {
    echo "Project Name: " . $row1['Title'] . "<br />";
    echo "<br /> ";
}
?>

有人可以帮我解决这个问题,或者以任何其他方式来解决这个问题(如果单击链接,则从数据库中获取数据)成为可能?

4

3 回答 3

2

改成这个

主文件

<?php
include('conn.php');
$sql2="SELECT Title FROM addpromo";
$result2=mysql_query($sql2);    

echo '<div id="links">';
echo '<ul>';
while($row2 = mysql_fetch_assoc($result2)){
echo '<li><a href="fullproject.php?title='.urlencode($row2['Title']).'">'.htmlentities($row2['Title']).'</a></li>';

}
echo '</ul>';
echo '</div>';
?>

完整项目.php

<?php

if(isset($_GET['title'])){

    include('conn.php');

    $projectname= $_GET['title'];

    $sql1="SELECT Title FROM addpromo WHERE Title = '$projectname'";
    $result1=mysql_query($sql1);    

    while($row1 = mysql_fetch_assoc($result1)) {
      echo "Project Name: " . $row1['Title']. "<br />";    
      echo "<br /> ";
    }

}

?>
于 2013-08-28T10:13:27.973 回答
0

这是存储一个布尔值$projectname= isset($_GET['Title']);,无论是否设置了标题。而是使用$projectname = $_GET['Title'];

于 2013-08-28T10:14:23.947 回答
0

isset 返回一个布尔值(真/假),您需要变量的实际值:

$projectname= $_GET['title'];

此外,您只需将标题作为 URL 参数传递,而无需将其括在引号中。所以这一行有一个错误:

echo "<li> <a href=\"fullproject.php?title=" . urlencode($row2['Title']) . "\">"

注意在title=之后缺少\"

于 2013-08-28T10:14:44.850 回答