[英]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.