2017-03-02 4 views
0

Ich bin neu in PHP.Speichern mehrerer Bilder in MySQL-Datenbank mit PHP

Ich versuche, mehrere Bilder mit Text zu einer Datenbank hinzuzufügen, und ich bin fest. Wenn ich einen auswähle, wird er gespeichert. Wenn ich mehrere auswähle, bleibt es in der Datenbank leer.

Ich brauche Hilfe, um dies zu beheben. Plus, ich bin verwirrt: ist eine Tabelle für Bilder in db ok? Ich meine, gibt es einen speziellen Datentyp oder eine Möglichkeit, mehrere Bilder auf demselben Eintrag in einer Datenbank zu haben?

Hier ist mein Code:

<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> 

Vielen Dank im Voraus für Ihre Hilfe!

+0

Sie können mehrere Bildpfade speichern, indem Sie sie über Komma in das Feld Ihrer Tabellen schreiben. Und teilen Sie sie in Benutzeroberfläche. –

+0

können Sie es auf Code zeigen ich bin einfrieren Dank für die Antwort –

Antwort

0

Zum Beispiel, wenn Sie mehrere Bildpfade in einem Feld speichern möchten, können Sie sie hinzufügen, wie unten auf den db:

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

Und verwenden split und for loop sie dynamisch in der Benutzeroberfläche zu drucken.

+0

können Sie bitte diesen Code für mich bearbeiten, ich versuchte, aber fühlte sich ziemlich dumm, wenn Sie Code bearbeiten, ich werde wirklich dankbar sein –

Verwandte Themen