很抱歉,如果我的标题很糟糕,但我到处都看,我只是不知道该怎么做。
行。我想要做的是显示来自表格行的特定id的信息。
第一页
employees.php
<?php
require 'header.php';
require 'connect.php';
$sql1 = mysql_query("SELECT * FROM employees ORDER BY id ASC");
while($runrows = mysql_fetch_array($sql1)){
$employename = $runrows["employename"];
$minidescription = $runrows["minidescription"];
$bigdescription = $runrows["bigdescription"];
echo "
<!-- Employe Profile Start -->
<div class='ProfileWrap'>
<section class='Profile'>
<div class='HeadShot'>
<div class='Separator'></div>
<img width='90' height='136' alt='Employe Headshot' class='EmployeImage' src=img/headshots/".$runrows['images'] ." />
<div class='EmployeInfo'>
<legend class='EmployeName'>
<b>
Employe Name: $employename
</b>
</legend>
<div class='EmployeDes'>
<p>
Employe Descript $minidescription...
</p>
</div>
<a href='readmore.php?id=" .$id = $runrows["id"]. "' id='demo' alt='Read More'>
<div class='ReadMore'>
<b>
Read More
</b>
</div>
</a>
</div>
</div>
</section>
</div>
<!-- employe Profile End -->
";
} // close while loop
?>
<?php require 'footer.php'; ?>
第二页
employe.php
<?php
require 'header.php';
require 'connect.php';
echo "<a href='index.php'>Back</a>";
$sql2 = mysql_query("SELECT * FROM employees WHERE id=$id");
while($runrows = mysql_fetch_array($sql2)){
$id = $runrows["id"];
$employename = $runrows["employename"];
$minidescription = $runrows["minidescription"];
$bigdescription = $runrows["bigdescription"];
echo "
<legend class='EmployeName'>
<b>
Employe Name: $employename
</b>
</legend>
<div class='EmployeDes'>
<p>
Employe Description: $bigdescription...
</p>
</div>
";
};
require 'footer.php';
?>
然后点击
[阅读更多]
然后它将转到另一个名为readmore.php的页面
“点击”[阅读更多] - &gt; readmore.php?id = 14 - &gt;显示来自数据库中该ID的特定信息。
username
minidescription
->
click [Read More]
then it would show up like readmore.php?id=14 in the small address bar at the
bottom left
->
new page
->
largedescription
我希望能够点击具有更多阅读按钮的网站中的项目,并将其带到另一个页面,其中显示该特定ID的描述信息
是的,我知道我是一个完整的新手,但我还在学习,这是我想要完成的一个蹩脚的例子,但我希望你能理解我正在努力做的事情。
抱歉,如果这已经存在,但我到处寻找,找不到我想要的东西。如果有人有分享的链接可以做我所问的问题,那么这个问题就可以删除。提前致谢!希望有人能帮助我解决这个问题。
答案 0 :(得分:1)
首先,请注意@Matthew Johnson关于使用Mysqli或PDO的答案。不过,这里有一些代码细节。生成页面链接时,您需要:
<a href='readmore.php?id=" . $runrows["id"] . "' id='demo' alt='Read More'>
使用$ id = $ runrows [“id”]不会将值放入url,它只是声明$ id变量的值。
然后在readmore.php文件中,可以使用$ _GET数组从URL捕获id:
if (isset($_GET['id'])) {
$id = $_GET['id'];
}
答案 1 :(得分:0)
不推荐使用mysql_ *函数,不应再使用它们。应使用Mysqli或PDO以及准备好的语句。您拥有的代码容易受到SQL注入攻击。您尝试做的简化版本看起来像这样:
链接:
//this gets all the name and mini, loops through and displays....
$stmt = $mysqli->prepare("SELECT id, employename, minidescription FROM employees");
$stmt->execute();
$stmt->bind_result($id, $employeename, $minidescription);
while($stmt->fetch()) {
echo "<p><a href='readmore.php?id=$id'>$employeename</a>: $minidescription</p>";
}
阅读更多:
//make sure it's set, if so assign it...
$id = (isset($_GET['id']) ? $_GET['id'] : "";
//this gets the info using the id variable from the URL...
$stmt = $mysqli->prepare("SELECT employename, minidescription, bigdescription FROM employees WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->bind_result($employeename, $minidescription, $bigdescription);
$stmt->fetch();
echo "$employeename: $bigdescription";
使用mysqli和prepared语句,如此处所示,可以保护您免受bobby tables和SQL注入攻击。您可以从manual了解有关mysqli的更多信息。这是一个tutorial,可以快速了解预处理语句的工作原理。
修改强>
上面的代码仍然需要数据库连接。未定义变量的警告表示尚未定义$mysqli
变量。致命错误是由于prepare语句失败。要创建连接,它看起来类似于:
define("HOST", "Host URL");
define("USER", "dbUser");
define("PASSWORD", "password");
define("DATABASE", "databaseName");
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
这将替换connect.php
中的代码。