选择输入后,显示数据库中的图像

时间:2017-01-30 19:07:49

标签: php html mysqli

我尝试使用php从输入中选择后显示我的数据库中的图像我尝试使用一个函数,当我选择它将显示的图像名称时 但没有任何事情发生,当我不使用该功能时,所有图像都是随机出现的 需要帮助,抱歉我的英语不好 这是我的代码

PHP

<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "ont";
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$query = "SELECT nom FROM `equipement`";
$result1 = mysqli_query($conn, $query);
$options = "";

while($row1 = mysqli_fetch_array($result1))
{
    echo $options;
    $options = $options."<option>$row1[0]</option>";
}

function ajout()
{
    $sqlimage  = "SELECT image FROM equipement";
    $imageresult1 = mysqli_query($conn,$sqlimage);
    while($rows=mysqli_fetch_assoc($imageresult1))
    {
        $image = $rows['image'];
        echo "<img src='$image' >";
        echo "<br>";
    } 
}
?>

HTML

<form method="POST" action="room.php" enctype="multipart/form-data">
    <select name="image_name">
        <?php echo $options;?>
    </select>

    <input type="submit">
</form>

1 个答案:

答案 0 :(得分:0)

正如u_mulder所说,你必须在函数$con中定义ajout作为参数,而不是在你需要它的php脚本中调用它。

<?php 
   //previous code
 function ajout($connection)
{
   $sqlimage  = "SELECT image FROM equipement ";
   $imageresult1 = mysqli_query($connection,$sqlimage);
    while($rows=mysqli_fetch_assoc($imageresult1))
   {
    $image = $rows['image'];
    echo "<img src='$image' >";
    echo "<br>"; 
   } 
}
ajout($con) ;
?>

评论中的问题解决方案是

<form action="yourphpfile.php" method="POST">
<select name="image_name" >
    <option value=""> </option>
    <option value="rose">Rose</option>
    <option value="lily">Lily</option>
    <option value="lotus">Lotus</option>
</select>
<input type="submit">
</form>  

现在用户点击按钮&amp;你的php文件将在你可以获得价值的地方执行$user_flower_name = $_POST['image_name']&amp;用户在你的SQL查询中查找。

请记住$_POST['image_name']将返回option代码的值,而不是它们之间的innerText。