2016-09-03 3 views
0

사용자가 여러 이미지와 새 데이터를 추가하는 방법을 알고 싶습니다. 예를 들어 내가하고있는 사이트에서 디자인을 할 수 있고 디자인을 마친 이메일 주소 제목과 함께 데이터베이스에 업로드하면됩니다.새 데이터베이스를 만들지 않고 더 많은 정보를 데이터베이스에 추가하십시오.

저는 사용자가 더 많은 디자인을 만들고 동일한 데이터베이스에서 이름을 모두 이메일 주소로 검색하는 방법을 알고 싶습니다. 이메일 주소 당 디자인 수를 14 개로 제한하고 싶습니다. 그러나 지금 가지고있는 데이터베이스와 코드를 사용하면 새로운 디자인을 만들 때마다 하나의 디자인 만 업데이트됩니다.

누군가이 방법에 대한 방법을 보여줄 수 있습니까? 더 많은 정보가 필요하시면, 고맙습니다.

$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

나는 데이터베이스에 직접 파일을 저장하지 말 것을 권한다. 디자인 파일을 사이트의 보안 디렉토리에 업로드하고 데이터베이스에 업로드 된 파일의 경로를 저장하십시오. 그것은 일을 쉽게해야합니다. – Olantobi

+0

@SUNNYben 데이터베이스에 파일을 저장하지 않고 폴더에 저장하고 데이터베이스에 저장합니다. – momasboy

+0

나쁘다. 잘 보지 않았다. 이 경우 여러 행에 삽입하지 않는 것이 좋습니다. 특정 디자인을 저장하기 전에 특정 이메일 주소로 저장 한 디자인의 수를 파악하여 최대 14 개까지 제한 할 수 있습니다. – Olantobi

답변

0

내가 업로드 한 파일을 다른 이름을 가지고 있음을 볼 수있다, 당신은 그것을 통해 배열 및 루프 그런 식으로 내부적으로 예상되는 파일 이름을 나열해야합니다 :

여기 내 코드입니다.

사용자가 처리해야하는 또 다른 사항은 13 개의 디자인이 이미 업로드되어 있고 4 개의 디자인을 추가하려고하는 경우입니다. 모두 거부하거나 하나만 추가할지 결정해야합니다. 다음은 내가 취향에 맞게 수정할 수 있다고 생각하는 예입니다.

/* 

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(); 
    } 
?> 
관련 문제