PHP阅读URL然后

时间:2013-06-07 09:31:15

标签: php mysql database function search

我想知道在运行代码之后是否有一个从浏览器中读取url的函数; 例如,我有这个PHP代码:

echo "<a href='mypage.php?product=123456'>Search Result</a>";

当悬停在链接上时,网址应如下所示:

http://yourdomain.com/mypage.php?product=123456

我想从搜索结果的数据库中检索包含以下行的数据:

123456

但是让我向你解释一下; 让我们说这些是搜索结果

  • 1
  • 2
  • 3
  • 4
  • 5

当鼠标悬停在第一个结果上时,浏览器中的网址将如下所示:

http://www.yourdomain.com/mypage.php?product=1

我想显示表格中包含&#34; 1&#34;的行的所有数据。点击结果

谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

你可以获得id,

$id = $_GET['product'];

而不是火查询来检索数据

$stmt = $pdo->prepare('SELECT * FROM table WHERE id = :id');
$stmt->execute(array(':id' => $id));

答案 1 :(得分:0)

一劳永逸地上床睡觉:

第一页:

//create the links:
$html=""
$sql="SELECT id,description FROM table";
$result=$mysqlidb->query($sql);
while($row=$result->fetch_assoc())
    {
    $html.=sprintf("<a href='mypage.php?product=%s'>%s</a><br>",$row['id'],$row['description']);
    }
echo $html;

第二页(mypage.php)

$product=mysqli_real_escape_string($mysqlidb,$_GET['product']);
$sql="SELECT * FROM table WHERE id='$product'"; //or use prepared statement but in this case this is faster;
$result=$mysqlidb->query($sql);
$row=$result->fetch_assoc();

$ row现在包含您需要的信息,可以使用sprintf将其插入您的html格式:

$html=sprintf("<SPAN id='1'>%s</SPAN><SPAN id='2'>%s</SPAN>...",$row['somestuff'],$row['otherstuff']);

它的外观取决于你如何格式化各种html输出。