繁体   English   中英

PHP搜索结果-根据URL中的ID检索数据

[英]PHP Search Results - Retrieve Data based on ID in URL

我有一个PHP搜索功能,可以从数据库中检索项目并将其显示在搜索结果页面上。 单击搜索结果时,当前会带您到一个单独的html页面(用于每个搜索项),其中包含有关该项的更多详细信息。

我想将每个搜索结果链接到一个PHP页面,该页面从URL获取项目ID,然后从数据库中检索并显示相关数据。

以下是页面上显示搜索结果的PHP代码,但是我不确定在哪里进行编辑,以将每个项目链接到动态PHP页面,然后从动态PHP页面上的URL检索ID?

<?php
if (!empty($data)){
foreach ($data as $item){
echo '<div class="item">';
if (strlen($item['item_image']) > 10){
if(strlen($item['item_link']) > 10){
echo '<a href="'.$item['item_link'].'">';
}
else {
echo '<div class="fail ">No Results Found;
}
?>

编辑:

我在detail_page.php上使用了以下代码

<?php $db =
mysql_connect("","","") or die("Database     Error");
mysql_select_db("items",$db); $id =     $_GET['id']; $id =     mysql_real_escape_string($id); $query =     "SELECT * FROM `items-one` WHERE `id`='"     . $id . "'"; $result = mysql_query($query); 

但是现在需要从数据库中的ID调用所有行字段,然后将它们添加到整个页面的各个位置吗?

通常,这是通过GET在参数中传递ID来完成的。 因此,列表页面上的链接可能如下所示:

echo '<a href="/path/to/detail_page.php?id=' . $id . '">' . $link_text . '</a>';

在这里$id$link_text可以循环填充或其他方式填充。

/path/to/detail_page.php页面上,您将具有以下代码:

// validate that there is an integer-like value passed in `$_GET['id']`
// if so, set value to $id
$id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);
// see results of filtering and behave accordingly
if (is_null($id)) {
    // $_GET['id'] was not set
    // do something and exit
} else if (false === $id) {
    // the value at $_GET['id'] didn't pass validation filter
    // do something and exit
}

// $id has a good integer value
// note you would probably need additional validation checks on the id value
// i.e. make sure value is not negative or 0
// you may want to cast $id to int to make these checks
// for example:
$id = int($id);
if ($id < 1) {
    // bad $id value
    // do something and exit
}
// read data from DB and display it

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM