ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingรบกวนแนะนำการจัดเก็บข้อมูลการอัพโหลดรูปลง Mysql ทีครับ (แบบลูป)
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: รบกวนแนะนำการจัดเก็บข้อมูลการอัพโหลดรูปลง Mysql ทีครับ (แบบลูป)  (อ่าน 825 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ZOOMDESIGN
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 23



ดูรายละเอียด
« เมื่อ: 23 กรกฎาคม 2019, 09:21:08 »

ผมมี DB ชื่อ testdb มีฟิลด์ id (int) / photo1 / photo2 / photo3 / photo4 / photo5 **** photo เก็บเป็น varchar

ความต้องการคือ เมื่อ อัพโหลดไฟล์แล้ว เป็นแบบ Multiple เลือกมา 3 รูป จากนั้นกด submit ก็จะไปยังไฟล์ test1.php เพื่อที่เก็บชื่อไฟล์ทั้ง 3 รูป ลง photo1 / photo2 / photo3 (ถ้าเก็บ 4 ก็จะมี photo4 เพิ่มมาด้วย)
แต่ผมไม่ทราบว่า มันจะวนลูป บันทึกลง mysql ในแต่ละแถวยังไง รบกวนผู้แนะนำทีคับ
*** ปล.ไม่เก็บภาพทีละแถวนะครับ และ ขอเก็บแค่ชื่อไฟล์เป๋น Varchar เท่านั้น

Code ที่ทำไว้แล้วคับ

test.php
โค๊ด:
<form method=post action=test1.php enctype="multipart/form-data">
<input type="file" name="file[]" id="file" multiple />
<input type="submit" value=OK>
</form>

test1.php
โค๊ด:
<?php
require_once "connectdb.php";
$target_dir 'testimg/';
if( isset(
$_FILES['file']['name']))
{

  
$total_files count($_FILES['file']['name']);
$i 1;
  for(
$key 0$key $total_files$key++) {

    if(isset(
$_FILES['file']['name'][$key]) && $_FILES['file']['size'][$key] > 0)
    {

      
$original_filename $_FILES['file']['name'][$key];
      
$ext pathinfo($original_filenamePATHINFO_EXTENSION);
      
$filename_without_ext basename($original_filename'.'.$ext);
      
$new_filename str_replace(' ''_'$filename_without_ext) . '_' time() . '.' $ext;
      
move_uploaded_file($_FILES['file']['tmp_name'][$key], $target_dir $new_filename);
    }
  }
}
?>


 :wanwan017: :wanwan017:
บันทึกการเข้า
goodwide
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 66
ออฟไลน์ ออฟไลน์

กระทู้: 1,432



ดูรายละเอียด
« ตอบ #1 เมื่อ: 23 กรกฎาคม 2019, 09:40:59 »

หลักการจะประมานนี้ ..... 

โค๊ด:
<?php
require_once "connectdb.php";
$target_dir 'testimg/';
$sqltarget '';  // ----เพิ่มตัวแปร
if( isset($_FILES['file']['name']))
{

  
$total_files count($_FILES['file']['name']);
$i 1;
  for(
$key 0$key $total_files$key++) {

    if(isset(
$_FILES['file']['name'][$key]) && $_FILES['file']['size'][$key] > 0)
    {

      
$original_filename $_FILES['file']['name'][$key];
      
$ext pathinfo($original_filenamePATHINFO_EXTENSION);
      
$filename_without_ext basename($original_filename'.'.$ext);
      
$new_filename str_replace(' ''_'$filename_without_ext) . '_' time() . '.' $ext;
      
move_uploaded_file($_FILES['file']['tmp_name'][$key], $target_dir $new_filename);
      
$sqltarget .= "'".$target_dir $new_filename."',";
    }
  }
    if(isset(
$sqltarget)){
      
db_upload_img($conn$sqltarget);
    }
}

// เพื่อม ฟังก์ชั้นการ ลงข้อมูล
function db_upload_img(,$conn ,$value){

  
$tvalue "(".$value.");";

$sql "innsert into dbimg (urlimg) value ".$tvalue;  // << ขึ้นอยู่กับ query ในใส่ข้อมูล ลงฐานข้อมูลนะครับ
///$result = $conn->query($sql);

  
if ($conn->query($sql) === TRUE) {
      echo 
"New record created successfully";
  } else {
      echo 
"Error: " $sql "<br>" $conn->error;
  }

  
$conn->close();

}
?>
ถ้าผิดพลาดอย่างไร ขออภัยนะครับ ..แก้ไข กันไปครับ
บันทึกการเข้า
ZOOMDESIGN
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 23



ดูรายละเอียด
« ตอบ #2 เมื่อ: 23 กรกฎาคม 2019, 09:55:18 »

หลักการจะประมานนี้ ..... 

โค๊ด:
<?php
require_once "connectdb.php";
$target_dir 'testimg/';
$sqltarget '';  // ----เพิ่มตัวแปร
if( isset($_FILES['file']['name']))
{

  
$total_files count($_FILES['file']['name']);
$i 1;
  for(
$key 0$key $total_files$key++) {

    if(isset(
$_FILES['file']['name'][$key]) && $_FILES['file']['size'][$key] > 0)
    {

      
$original_filename $_FILES['file']['name'][$key];
      
$ext pathinfo($original_filenamePATHINFO_EXTENSION);
      
$filename_without_ext basename($original_filename'.'.$ext);
      
$new_filename str_replace(' ''_'$filename_without_ext) . '_' time() . '.' $ext;
      
move_uploaded_file($_FILES['file']['tmp_name'][$key], $target_dir $new_filename);
      
$sqltarget .= "'".$target_dir $new_filename."',";
    }
  }
    if(isset(
$sqltarget)){
      
db_upload_img($conn$sqltarget);
    }
}

// เพื่อม ฟังก์ชั้นการ ลงข้อมูล
function db_upload_img(,$conn ,$value){

  
$tvalue "(".$value.");";

$sql "innsert into dbimg (urlimg) value ".$tvalue;  // << ขึ้นอยู่กับ query ในใส่ข้อมูล ลงฐานข้อมูลนะครับ
///$result = $conn->query($sql);

  
if ($conn->query($sql) === TRUE) {
      echo 
"New record created successfully";
  } else {
      echo 
"Error: " $sql "<br>" $conn->error;
  }

  
$conn->close();

}
?>
ถ้าผิดพลาดอย่างไร ขออภัยนะครับ ..แก้ไข กันไปครับ

ขอบคุณครับ
แต่ผมยังงง ในส่วนนี้คับ
$sql = "innsert into dbimg (urlimg) value ".$tvalue;

 wanwan017
บันทึกการเข้า
goodwide
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 66
ออฟไลน์ ออฟไลน์

กระทู้: 1,432



ดูรายละเอียด
« ตอบ #3 เมื่อ: 23 กรกฎาคม 2019, 10:48:15 »

$sql = "insert into dbimg (urlimg) value ".$tvalue; <---
-----------------
เป็น Query ในการใส่ ข้อมูลลง ฐานข้อมูลครับ ...
ผมไม่รู้ ว่า TABLE มี ฟิวด์ อะไรบ้าง .. เพื่อบอกว่า ชี้ให้เก็บลงที่ไหน

--- > $tvalue รูปแบบ  ('urlimg1,urlimg2,urlimg3,urlimg4')  โดยประมานครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์