我有一个页面,正在显示一些图像被评为。在一个页面上,我显示所有的图像,然后一旦图像被选中,我想从SQL数据库表中获取该图像的详细信息。这是我得到的。
<html>
<body>
<a href="rating.php"><img id="img1" src="images/001.jpg" /></a>
<a href="rating.php"><img id="img2" src="images/002.jpg" /></a>
每个图片都是一个链接。
在rating.php中我得到
<?php
$image = $_REQUEST["Name"]; //get the image
$Query = mysql_query("SELECT * FROM table WHERE image = '$Name'");
在这里,我需要确保我选择了在最后一个
上点击的图像这样我就可以从图像中获取信息。我想给每个图像一个id,然后保存到另一个页面,并像这样连接到数据库。什么好主意吗?我的思路对吗?
修改
<a href="rating.php?name=first-img"><img id="img1" src="images/001.jpg" /></a>
<a href="rating.php?name=second-img"><img id="img2" src="images/002.jpg" /></a>
和
$image = $_GET["name"];
$query = mysql_query("SELECT * FROM table WHERE image = '$image'");
,顺便说一下,使用像这样的预处理语句
$conn = new mysqli($host, $username, $password, $db);
$query = $conn->prepare("SELECT * FROM table WHERE image = ?");
$query->bind_param("s", $name);
$name = $_GET["name"];
$query->execute();
当然,本例中的first-img
和second-img
可以根据您的需要进行更改;它们可能是图像的名称或它们的id。使用id是一种更好的方法,而且更快。
我个人选择jQuery ajax方式( as Philly2NYC stated
)。
你会有你的图像:
<a id="rate-image" data-image="first-image" href="#"><img id="img1" src="images/001.jpg" /></a>
<a id="rate-image" data-image="second-image" href="#"><img id="img1" src="images/001.jpg" /></a>
创建一个jQuery onclick
事件来处理请求:
$(document).on('click', 'a#rate-image', function(e){
e.preventDefault();
// get image
var img = $(this).attr('data-image');
$.ajax({
url: "rating.php",
type: "POST",
data: {img: img}
}).success(function(data){
// response from php script
console.log('data');
});
});
可以访问$_POST
数组中img
的值。
<?php
$image = $_post["img"];
$query = mysql_query("SELECT * FROM table WHERE `image` = '$image'");
// do query and echo what you need....etc...
?>