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

选择图像并在php中的数据库中查找它,php,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" /&

我有一个页面,显示了一些要评级的图像。在一个页面上显示所有图像,然后一旦选择了一个图像,我希望从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'");
更改此选项

<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>
顺便说一句,像这样使用预先准备好的语句

$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();
当然,在这种情况下,
第一个img
第二个img
可能会根据您的需要进行更改;它们可能是图像的名称或它们的ID。使用ids是一种更好、更快的方法。

改变这一点

<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>
顺便说一句,像这样使用预先准备好的语句

$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();

当然,在这种情况下,
第一个img
第二个img
可能会根据您的需要进行更改;它们可能是图像的名称或它们的ID。使用ids是一种更好、更快的方法。

我个人会使用jQuery ajax方法()

您将拥有您的图像:

<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>
您可以访问
$\u POST
数组中的
img

<?php 
$image = $_post["img"];
$query = mysql_query("SELECT * FROM table WHERE `image` = '$image'");
// do query and echo what you need....etc...
?>

我个人会选择jQuery ajax方式()

您将拥有您的图像:

<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>
您可以访问
$\u POST
数组中的
img

<?php 
$image = $_post["img"];
$query = mysql_query("SELECT * FROM table WHERE `image` = '$image'");
// do query and echo what you need....etc...
?>

Sidenote:This
WHERE image='$Name'
您可能想使用
WHERE image='$image'
,因为目前,
$Name
是未定义的。并且没有打开的数据库连接,您应该过滤当前代码打开的映像参数(sql注入)。使用,或与@Fred ii一起使用。@Fred ii-你是对的,但这是另一个问题:)旁注:这
WHERE image='$Name'
你可能想使用
WHERE image='$image'
,因为目前,
$Name
是未定义的。而且没有打开的数据库连接,你应该过滤映像参数(sql注入)您当前的代码对用户开放。使用,或与@Fred ii一起使用。@Fred ii-你是对的,但这是另一个问题:)有许多替代方法可以做到这一点,但HEX4949提供了一种简单的执行和理解方法。就个人而言,出于可伸缩性的考虑,我会采用Javascript/AJAX方法来实现它——这会创建更多的代码,但允许可重用代码的未来灵活性,从而提供成倍增加的方法来实现最终目标。但那只是我。。。这还取决于项目的规模,当然还有未来可扩展性的任何意图——否则使用我的建议的多余代码只会给当前项目增加不必要的“权重”。@Philly2NYC原则上,我同意你的看法。如果本例中的
rating.php
与图像的分级有关,我不会仅仅为了增加页面的rate/hit计数器而重新加载整个页面。此外,我更愿意在服务器端使用不同的标记,尤其是更安全的方法。但这些东西超出了这个答案的范围:)有许多替代方法可以做到这一点,但HEX4949提供了一种简单的执行和理解方法。就个人而言,出于可伸缩性的考虑,我会采用Javascript/AJAX方法来实现它——这会创建更多的代码,但允许可重用代码的未来灵活性,从而提供成倍增加的方法来实现最终目标。但那只是我。。。这还取决于项目的规模,当然还有未来可扩展性的任何意图——否则使用我的建议的多余代码只会给当前项目增加不必要的“权重”。@Philly2NYC原则上,我同意你的看法。如果本例中的
rating.php
与图像的分级有关,我不会仅仅为了增加页面的rate/hit计数器而重新加载整个页面。此外,我更愿意在服务器端使用不同的标记,尤其是更安全的方法。但这些东西超出了这个答案的范围:)谢谢大家。它不是一个巨大的东西,它是小而简单的。只是评价一些形象。我必须使用php来实现它,尽管它影响到了所有人。它不是一个巨大的东西,它是小而简单的。只是评价一些形象。我必须使用php来实现它