从记录列表中加载包含单个记录的页面。 [PHP]

时间:2014-12-05 18:01:31

标签: php mysql sql hyperlink

我是一个使用MySQL数据库和PHP的完全初学者

我希望通过点击链接从包含记录列表的页面加载单个记录。

我已经获得了记录列表,当点击链接时,它会将用户带到包含此网址的页面:

/view.php?v=1 (with 1 being the ID of the record I clicked on the menu)

如何在页面上加载相关记录(ID为'1'的记录)?看起来它很简单,但我找不到如何在任何地方做到这一点。

显然我需要使用SQL语句从数据库中获取内容,但我需要放置什么?类似的东西:

$sql = "SELECT * FROM Topics WHERE TopicID=v";

3 个答案:

答案 0 :(得分:1)

URL's

使用$_GET变量
$topic_id = $_GET['v'];

您可以在查询中传递参数,而不是仅转储变量:

$query = $PDO->prepare(SELECT * FROM Topics WHERE TopicID=:topic_id);
$query->bindValue(':topic_id', $topic_id);

本文档将为您提供更多指导。 http://php.net/manual/en/ref.pdo-mysql.php

答案 1 :(得分:-2)

所以这将是你的PHP脚本:

// Establish your database connection, replace credentials with yours:    
$dbc = new PDO('mysql:host=' . MYSQL_HOST . ';dbname=' . DB_NAME, MYSQL_USER, MYSQL_PW, array(PDO::ATTR_PERSISTENT => true));

// Get the id from the URL:
$id = filter_input(INPUT_GET, 'v');

// Set up the sql query:
$q = "SELECT * FROM Topics WHERE TopicID = $id";

// Execute the query and get the result:
$result = $dbc->query($q);

// Fetch the only row for your result:
$row = $result->fetch();

现在,您可以使用记录($行)执行任何操作。这是一个数组,所以,例如,如果你想得到'日期'列,或者你想要的任何东西,那就是$ row ['date']。我不知道主题表是如何构建的,但无论你在那里有什么列,那么它只是$ row [''],这就是你获得价值的地方。

另请注意,我没有提供任何验证支持。因此,您必须自己验证输入。这段代码是基本的,只是假设$ _GET变量中的数据是有效的。

/view.php?v=fuckyou不会工作,你会收到错误。

答案 2 :(得分:-2)

您可以使用下面的代码从表中获取单个记录值

URL :- www.abc.com/view.php?v=1 // Your url    

$id = $_GET['v']; // get these value    

$conn = mysql_connect("localhost", "mysql_user", "mysql_password"); // connect the database with your credentials     

$sql = mysql_query("SELECT * FROM `Topics` where TopicID = $id limit 1 "); // sql query    

while ($row = mysql_fetch_assoc($sql)) {    
    echo $row["TopicID"];    
    echo $row["TopicName"];    
}