我想要做的是让用户搜索产品,并在搜索产品时带回图像。我希望通过从数据库中提取图像的路径并将其作为""的一部分来实现。路径。我在网上看过一些教程和类似的问题,但所有这些都需要用户首先上传图片(我不想发生)。
因此查询肯定有效,它会将所有文本数据拉出,这在我运行时可以看到。我会相信它是当时的道路,但我不确定它为什么不起作用。我有,它需要" img / ImageName路径(直接从数据库中提取。我甚至玩过它,有#34; img /"出现在其中PHP(作为一个字符串)。然而,每当我执行查询时,唯一显示图像应该在哪里的是alt"无法找到" icon。
这是我的代码:
HTML:
<form action="searchDB.php" method="GET" id="searchForm">
<p>Search for the product you want!</p>
<input type="text" name="product" id="product" placeholder="Product...">
<br>
<input id="submit" type="submit" value="Search">
</form>
&#13;
PHP:
<?php
$conn = new mysqli($servername, $username, $password, $dbase);
if ($conn->connect_error) {
echo "Connection failed: ". $conn->connect_error;
}
if(empty($_GET['product']) ){
die('please input a search!');
} else {
$product = mysqli_real_escape_string($conn, $_GET['product']);
$sql = "SELECT * FROM products WHERE product = '$product'";
$result = $conn->query($sql);
?>
<?php
if ($result->num_rows > 0){
//output each row
while($row = $result->fetch_assoc()){#
echo '<tr>';
echo '<td>'.$row['product'].'</td>';
echo '<td>'.$row['brand'].'</td>';
echo '<td>'.$row['cost'].'</td>';
/*This is the path here, it pulls the image path from the database
("img/Image-Name") and puts it in a "src" attribute*/
echo '<td>' ."<img src=/'" .$row['image']."' />" .'</td>';
echo '<td>'.$row['specification'].'</td>';
echo '</tr>';
echo '</table>';
echo '</div>';
}
} else {
echo "Sorry, we could not find any products relating to your search.";
}
}
mysqli_close($conn);
?>
答案 0 :(得分:2)
变化:
echo '<td>' ."<img src=/'" .$row['image']."' />" .'</td>';
到这个
echo '<td>' ."<img src='" .$row['image']."' />" .'</td>';
或者
echo '<td>' ."<img src='/" .$row['image']."' />" .'</td>';
取决于你是否真的需要在路径的开头使用正斜杠。
答案 1 :(得分:1)
这将产生无效(或半有效,因为HTML非常原谅)HTML:
echo '<td>' ."<img src=/'" .$row['image']."' />" .'</td>';
// ^ Note the open-quote is AFTER the /
// So this will look like
<img src=/'img/product.jpg' />
而不是你想要的东西
<img src='/img/product.jpg' />