我的HTML列出了我的数据库表(场地)中的行,但现在我想分别查看记录。用户应该能够单击一行,然后重定向到该单个页面并查看详细信息。
这是第1页。
<?php
// Include the connection file.
include("func.inc.php");
//////Displaying Data/////////////
$venue_id = mysql_real_escape_string($_GET['venue_id']);
$venue_id=$_GET['venue_id'];
$city=$_GET['city'];
$reason=$_GET['reason'];
$budget=$_GET['budget'];
// Select all the rows in the markers table
$query = sprintf(
"SELECT city, reason, budget, venue_name, description, venue_id FROM venues WHERE city = '%s' AND reason = '%s' AND budget = '%s' ",
mysql_real_escape_string($city),
mysql_real_escape_string($reason),
mysql_real_escape_string($budget)
);
$result = mysql_query($query);
if($result == false) {
die(mysql_error() . "<br />\n$query");
}
if(mysql_num_rows($result) == 0) {
user_error("No rows returned by:<br />\n$query");
}
?>
<?php
while($row = mysql_fetch_array($result)) { ?>
<tr>
<td> <a href="venue.php?venue_id=<?php echo $row['venue_id']; ?>"><?php echo $row['venue_name']; ?></a></td>
<td><?php echo $row['image']; ?></td>
<td><?php echo $row['description']; ?></td>
</tr>
<?php }
?>
这是第2页,venue.php:
<?php
// Include the connection file.
include("func.inc.php");
$venue_id = mysql_real_escape_string($_GET['venue_id']);
$venue_id = $_GET['venue_id'];
// Select all the rows in the markers table
$query = sprintf('SELECT * FROM venues WHERE venue_id = "'.$venue_id.'" ',
mysql_real_escape_string($venue_id));
$result = mysql_query($query);
$result = mysql_fetch_assoc($result);
if($result == false) {
die(mysql_error() . "<br />\n$query");
}
if(mysql_num_rows($result) == 0) {
user_error("No rows returned by:<br />\n$query");
}
?>
我很接近,但$ venue_id没有转到下一页,单个细节也没有填充。我该如何解决?谢谢!
答案 0 :(得分:0)
首先在您的代码中存在一些问题。 为什么这样做:
$venue_id = mysql_real_escape_string($_GET['venue_id']);
$venue_id=$_GET['venue_id'];
真的那不高效。你可以这样做:
$venue_id = (int) $_GET['venue_id'];
这样你就可以将值转换为整数(我认为你的值是一个整数)。而且不需要创建mysql_real_escape_string(这对文本有用)。
其次,对于您的主要问题,您是否在第一页中看到在其中设置了venue_id的HTML
<a href="venue.php?id=XXXX">
当您点击它时,它是否在您的目标网页的网址中? 喜欢:www.example.com/venue.php?id=XXXX
您是否尝试回复$_GET["venue_id"]
?
问题是,在您的网址中设置了'id'
,并在您的目标网页中搜索'venue_id'
放<a href="venue.php?**venue_id**=XXXX">
答案 1 :(得分:0)
终于让这个工作了。在你的建议之后,我不得不删除一行:
$result = mysql_fetch_assoc($result);
谢谢大家!