PHP - 通过数据库中的id显示mysql单记录php

时间:2015-03-28 16:27:03

标签: php html mysql database

我的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没有转到下一页,单个细节也没有填充。我该如何解决?谢谢!

2 个答案:

答案 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);

谢谢大家!