我正在尝试做一些简单的事情我确定但是我已经看过并且经过测试,我没有做正确的事情。 我有一个存储图像文件名的数据库,我需要根据HTML中的ID获取文件名,让我解释一下:
<div class="slide">
<div class="image-holder">
<img src="img/asoft_table.jpg" alt="" />
</div>
<div class="info">
<p>Morbi a tellus lorem, id scelerisque ligula. Maecenas vitae turpis et.</p>
</div>
</div>
<div class="slide">
<div class="image-holder">
<img src="img/soft_table.jpg" alt="" />
</div>
<div class="info">
<p>Sed semper, lorem ac lobortis bibendum, magna neque varius augue, vel accumsan.</p>
</div>
</div>
<div class="slide">
<div class="image-holder">
<img src="img/living_room2.jpg" alt="" />
</div>
在每个img标签的实例中,我需要从DB插入文件名。因此,第一图像标签将是主键1,第二主键2等等。 这是我用来检索文件名的PHP脚本,但是我不确定如何将图像的ID发送到脚本然后正确地返回。
<?php
$hote = 'localhost';
$base = '*****';
$user = '*****';
$pass = '*****';
$cnx = mysql_connect ($hote, $user, $pass) or die(mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
$image_id = mysql_real_escape_string($_GET['ID']);
$sql = "SELECT image FROM image_upload WHERE ID ='$image_id'";
$result = mysql_query($sql);
$image = mysql_result($result, 0);
header('Content-Type: text/html');
echo '<img src="' . $image . '"/>';
exit;
?>
感谢任何帮助,感谢一堆
答案 0 :(得分:1)
从看起来你很难将PHP与HTML分开。
// File: index.php
<?php
$hote = 'localhost';
$base = '*****';
$user = '*****';
$pass = '*****';
$cnx = mysql_connect ($hote, $user, $pass) or die(mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
$image_id = mysql_real_escape_string($_GET['ID']);
$sql = "SELECT image FROM image_upload WHERE ID ='$image_id'";
$result = mysql_query($sql);
//$image = mysql_result($result, 0);
$image = array();
while ($row = mysql_fetch_assoc($result)) {
$image[] = $row["image"];
}
?>
<html>
<head>
</head>
<body>
<div class="slide">
<div class="image-holder">
<img src="<?php echo $image[0];?>" alt="" />
</div>
<div class="info">
<p>Morbi a tellus lorem, id scelerisque ligula. Maecenas vitae turpis et.</p>
</div>
</div>
<div class="slide">
<div class="image-holder">
<img src="<?php echo $image[1];?>" alt="" />
</div>
<div class="info">
<p>Sed semper, lorem ac lobortis bibendum, magna neque varius augue, vel accumsan.</p>
</div>
</div>
<div class="slide">
<div class="image-holder">
<img src="<?php echo $image[2];?>" alt="" />
</div>
</body>
</html>
// This is the magic code to get all the rows out of the database :)
// $row[ field_name ];
while ($row = mysql_fetch_assoc($result)) {
$image[] $row["image"];
}
编辑:
我不确定这是否是你想要完成的,但我想我还是要分享。
$imageID1 = $_GET['id1'];
$imageID2 = $_GET['id2'];
$imageID3 = $_GET['id3'];
$sql = "SELECT image FROM image_upload ";
$sql = "WHERE ID = $imageID1 OR ID = $imageID2 OR ID = $imageID3";
//The rest of your code can remain the same.
或者如果一个id与3个图像有关。
$sql = "SELECT * FROM image_upload WHERE ID ='$image_id'";
$result = mysql_query($sql);
$image = array();
$row = mysql_fetch_assoc($result);
$image1 = $row["image1"];
$image2 = $row["image2"];
$image3 = $row["image3"];
我告诉你有关你想做什么的更多信息,我很乐意给你一个更好的例子。
答案 1 :(得分:1)
确保您的HTML文件实际上是一个php文件。将PHP代码放在其顶部,然后将HTML放在它下面。你可以使用
<?php echo $image; ?>
将变量放入如下:
<div class="slide">
<div class="image-holder">
<img src="<?php echo $image; ?>" alt="" />
</div>
<div class="info">
<p>Sed semper, lorem ac lobortis bibendum, magna neque varius augue, vel accumsan.</p>
</div>
</div>
使用htmlentities来保证安全性(避免javascript注入)总是一个好主意:
<img src="<?php echo htmlentities($image, ENT_QUOTES, "UTF-8"); ?>" alt="" />
答案 2 :(得分:0)
由于您使用的是$ _GET数组,因此您需要通过URL发送ID,例如:
http://www.example.com/image.php?ID=5
假设你想继续为这个脚本使用$ _GET。