Raja Gopal Raja Gopal - 1 month ago 10
MySQL Question

php jquery clone input fields insert into db in same column

I am creating a form.

There are several field types in the form.

Among which i have a file upload box which can be populated.

User can attach several documents on the file upload input.


On submitting the file names should be saved in db in same column
separated by commas.


For single file i know how to do it, but since it is cloned i am confused.

<span class="button btn-primary"> Choose File </span>
<input type="file" class="gui-file required" name="docs[]" onChange="document.getElementById('orderupload1').value = this.value;">
<input type="text" class="gui-input" name="orderupload1" id="orderupload1" placeholder="Attach Domcuments Here..." readonly>


Form and field population works good with the above code and some JS.

Now the issue is how to insert every populated field file name separated by comma in same column.

I did already for single field as follows:

$docs=$_FILES['docs[]']['name'];

$temp_doc_name=$_FILES['docs[$i]']['tmp_name'];

if($docs!=''){


if ($temp_doc_name != ""){

$newFilePath1 = "uploadFiles/" . $docs;


if(move_uploaded_file($temp_doc_name, $newFilePath1)) {


}
}
}

$sql = "insert into students (documents) values(LAST_INSERT_ID(), '$docs')";

Answer

replace you code with foreach as below.

foreach ($_FILES['docs']['name'] as $key => $val) {
   if (move_uploaded_file($_FILES['docs']['tmp_name'][$key], $newFilePath1)) {
      /* FILE IS UPLOADED SUCCESSFULLY */
   }
} 
Comments