2017-03-02 106 views
0

我是PHP新手。使用PHP在MySQL数据库中存储多个图像

我想添加多个图像与文本到数据库,我卡住了。如果我选择一个,它会被存储。如果我选择多个,它在数据库中保留为空白。

我需要帮助来解决这个问题。另外,我很困惑:是db中的图像的一张桌子好吗?我的意思是,是否有一种特殊的数据类型或方法可以在数据库中的同一条目上有多个图像?

这里是我的代码:

<html> 
<body> 
    <form class="container" enctype ='multipart/form-data' action="add.php" method="post"> 
     <label><b> Name: </b></label><br><br> 
     <input type="text" name="name"><br><br> 
     <label><b> Type: </b></label><br><br> 
     <input type="text" name="type"><br><br> 
     <label><b> Detail: </b></label><br><br> 
     <input type="text" name="detail"><br><br> 
     <label><b> Area: </b></label><br><br> 
     <input type="text" name="area"><br><br> 

     Select image to upload: 
     <input type="file" name="filename" size='10000' multiple> 
     <input type="submit" value="Upload Image"> 
    </form> 
    <?php 
     // error_reporting(E_ALL); ini_set('display_errors', 1); 

     require_once 'login.php'; 

     $db_server = mysqli_connect($db_hostname, $db_username, $db_password, $db_database); 
     if (!$db_server) die("unable to connect to mysqli:" . mysqli_error()); 

     mysqli_select_db($db_server, "dbase1") or die("db not selected" . mysqli_error()); 

     $name = $_POST["name"]; 
     $type = $_POST["type"]; 
     $detail = $_POST["detail"]; 
     $area = $_POST["area"]; 

     if($_FILES) 
     { 
      $namee = $_FILES['filename']['name']; 
      move_uploaded_file($_FILES['filename']['tmp_name'], $namee); 
      echo "uploaded image'$namee'<br><img src ='$namee'>"; 
     } 

     $source= "pictures/".$namee; 

     $sql = "INSERT INTO adprop (name, type, text,area,filename) VALUES ('$name','$type','$detail','$area','$source')"; 
     $db = $db_server->query($sql); 
    ?> 
</body> 
<html> 

预先感谢您的帮助!

+0

您可以在表格字段中通过逗号将其写入多个图像路径。并将它们分成用户界面。 –

+0

你可以在代码上显示它吗?我是冻结感谢您的回复 –

回答

0

例如,如果你想保存在一个领域的多个图像的路径,你可以将它们添加到如下DB:

/image_folder/image_name1.jpg,/image_folder/image_name2.jpg 

而且使用splitfor loop在用户界面动态地打印出来。

+0

你能为我编辑这段代码吗?我尝试过了,但是如果你编辑代码,我觉得很笨拙,我真的很感恩 –

相关问题