从数据库中提取图像路径并显示图像

时间:2018-05-29 20:42:44

标签: php html

我想要做的是让用户搜索产品,并在搜索产品时带回图像。我希望通过从数据库中提取图像的路径并将其作为""的一部分来实现。路径。我在网上看过一些教程和类似的问题,但所有这些都需要用户首先上传图片(我不想发生)。

因此查询肯定有效,它会将所有文本数据拉出,这在我运行时可以看到。我会相信它是当时的道路,但我不确定它为什么不起作用。我有,它需要" 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;
&#13;
&#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);
?>

2 个答案:

答案 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' />