2016-09-03 1 views
0

Ich würde gerne wissen, wie Benutzer mehrere Bilder und neue Daten hinzufügen können. Zum Beispiel auf der Website, die ich mache, können Sie ein Design machen und wenn Sie fertig sind, laden Sie es in die Datenbank zusammen mit Ihrer E-Mail-Adresse Titel des Designs, Schlüsselwörter ect.fügen Sie weitere Informationen zur Datenbank hinzu, ohne eine neue Datenbank zu erstellen

Ich würde gerne wissen, wie es möglich ist, den Benutzer mehr Designs zu erstellen und benannte sie alle in der gleichen Datenbank nur abrufen sie mit einer E-Mail-Adresse. Ich möchte eine Beschränkung von 14 Designs pro E-Mail-Adresse machen. Aber mit der Datenbank und dem Code, die ich jetzt habe, lässt es nur ein Design es nur aktualisiert jedes Mal, wenn ein neues Design erstellt wird.

Kann mir jemand den Weg zeigen, wie man das macht? Wenn Sie weitere Informationen benötigen, fragen Sie bitte, danke.

Hier ist mein Code:

$query='UPDATE shirt_table SET images="'.$_FILES['file4']['name'].'", images1="'.$_FILES['file1']['name'].'", images2="'.$_FILES['file2']['name'].'", images3="'.$_FILES['file3']['name'].'" 
WHERE email= "'.$_SESSION['email'].'"'; 

if ($mysqli->query($query) === TRUE) { 
    echo "Record updated successfully"; 
} else { 
    echo "Error updating record: " . $conn->error; 
} 

$mysqli->close(); 
+0

Ich würde empfehlen, dass Sie Dateien nicht direkt in der Datenbank speichern. Laden Sie die Designdateien in ein gesichertes Verzeichnis auf Ihrer Site hoch und speichern Sie die Pfade zu den hochgeladenen Dateien in der Datenbank. Das sollte die Dinge erleichtern. – Olantobi

+0

@SUNNYben Ich speichere meine Dateien nicht in Datenbanken, sondern speichere sie in einem Ordner und nur den Namen in der Datenbank. – momasboy

+0

Meine schlechte, sah es nicht sehr gut. In diesem Fall, warum nicht in mehrere Zeilen einfügen. Bevor Sie ein bestimmtes Design speichern, können Sie eine Zählung durchführen, um zu wissen, wie viele Designs von einer bestimmten E-Mail-Adresse gespeichert wurden und daher beschränken, wenn es bis zu 14 ist. – Olantobi

Antwort

0

Ich kann sehen, dass die hochgeladenen Dateien unterschiedliche Namen haben, werden Sie die erwarteten Dateinamen intern als Array und Schleife durch sie auf diese Weise auflisten müssen.

Eine andere Sache, auf die Sie achten müssen, ist, wenn der Benutzer bereits 13 Designs hochgeladen hat und 4 weitere Designs hinzufügen möchte. Sie müssen entscheiden, ob Sie alle ablehnen oder nur einen hinzufügen. Hier ist ein Beispiel, das Sie nach Ihrem Geschmack ändern können.

/* 

CREATE TABLE `shirt_table` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `email_address` varchar(50) DEFAULT NULL, 
    `image_path` varchar(100) DEFAULT NULL, 
    `date_created` datetime DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) 

*/ 

<?php 

include("lib/dbcnx.inc.php"); 
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME); 

    $begin = 1; 
    $end = 5; 
    $max_uploads = 14; 

    $sel_query = "select count(*) from shirt_table where email = '".$_SESSION['email']."'"; 
    $result = $mysqli->query($sel_query); 
    echo $sel_query."<br/>"; 
    $numrows = $result->num_rows; 
    $counter = 0; 
    if ($numrows > 0) { 
     $row = $result->fetch_row(); 
     $counter = $row[0]; 
    } 

    if ($counter < $max_uploads) { 
     $saved_dir = "designs/";  

     $design_files = array($_FILES['file4']['name'], $_FILES['file3']['name'], $_FILES['file2']['name'], $_FILES['file1']['name']); 
     $query = "INSERT INTO shirt_table (email, image_path, date_created) values "; 

     for ($i=$begin; $i<=$end; $i++) { 
      $query = $query ."('".$email."', '".$saved_dir.$design_files[$i-$begin]."', now())"; 

      if ($i < $end) 
       $query = $query.", ";    
     } 

     echo $query."<br/>"; 

     if ($mysqli->query($query) === TRUE) { 
      echo "Record updated successfully"; 
     } else { 
      echo "Error updating record: " . $conn->error; 
     } 

     $mysqli->close(); 
    } else { 
     echo "You have exceeded ..."; 
     $mysqli->close(); 
    } 
?> 
Verwandte Themen