在php中选择图像并在数据库中查找它


select image and finding it on a database in php

我有一个页面,正在显示一些图像被评为。在一个页面上,我显示所有的图像,然后一旦图像被选中,我想从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-imgsecond-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...
?>