我正在开发一个解决方案,帮助我将图像列表中的特定图像提交到MySQL数据库。
我的数据库包含以下内容:
我首先从列表中检索图像并为每个图像提供一个提交按钮。
foreach ($media->data as $data) {
echo $pictureImage = "<img src=\"{$data->images->thumbnail->url}\">";
echo "<form action='tag.php' method='post'>";
echo "<input type='submit' name='submit' value='Click Me'>";
echo "</form>";
}
$ pictureImage解析数据URL,然后将其放入实际图像中。 提交按钮位于每个图像下方。
我正在制作它,以便在按下提交按钮时,它会被添加到数据库中。
if(isset($_POST['submit'])) {
//Database code would be above the following
$sql="INSERT INTO $usertable (image) VALUES ('$pictureImage')";
}
我遇到的问题是列表中的最后一个图像是提交到数据库的图像,而不是带有相应提交按钮的图像。如何使用相应的提交按钮抓取照片?
非常感谢任何帮助。
答案 0 :(得分:1)
当您点击提交按钮时,您不会发布任何数据。我建议您对每个表单都有一个带有图像网址的隐藏字段。 像这样的东西:
<form action='tag.php' method='post'>
<input type="hidden" value="{$data->images->thumbnail->url}" name="pic"/>
<input type='submit' name='submit' value='Click Me'>
</form>
答案 1 :(得分:1)
您需要在表单中包含图片的任何标识符才能存储。
例如,您可以尝试构建这样的表单:
foreach ($media->data as $data) {
echo $pictureImage = "<img src=\"{$data->images->thumbnail->url}\">";
echo "<form action='tag.php' method='post'>";
echo "<input type='hidden' name='imageid' value='{$data->images->thumbnail->url}'>";
echo "<input type='submit' name='submit' value='Click Me'>";
echo "</form>";
}
当您想要将图像存储在表单提交时,您实际上可以获取图像的标识符(在这种情况下,我使用了您发布的URL):
if(isset($_POST['submit'])) {
$sql="INSERT INTO $usertable (image) VALUES ('$_POST[imageid]')";
}
答案 2 :(得分:1)
foreach ($media->data as $data) {
echo $pictureImage = "<img src=\"{$data->images->thumbnail->url}\">";
echo "<form action='tag.php' method='post'>";
echo "<input type='submit' name='submit' value='Click Me'>";
echo "</form>";
}
当这个循环完成时,你将循环中的最后一个图像作为$ pictureImage的值。
所以当它达到这一点时,你就是$ pictureImage仍然是......最后一张图片。
if(isset($_POST['submit'])) {
//Database code would be above the following
$sql="INSERT INTO $usertable (image) VALUES ('$pictureImage')";
}
我不确定您要保存哪个数据值,因为它现在看起来像整个标记。但不管它是什么,你需要先将它放入表格领域......
foreach ($media->data as $data) {
..
echo "<form action='tag.php' method='post'>";
echo "<input type='hidden' name='imageurl' value='<img src=\"{$data->images->thumbnail->url}\">' />";
..
}
然后在脚本的POST部分中检索它:
if(isset($_POST['submit'])) {
$imageurl = $_POST['imageurl'];
//Database code would be above the following
$sql="INSERT INTO $usertable (image) VALUES ('$imageUrl')";
}
这样,它不会始终是列表中的最后一个值,而是它将是您选择的值。