ช่วยด้วยยยยย ทำมัย เวลา ลบข้อมูลในตารางอัพโหลด แล้ว fk ในตารางfile ถึงไม่ถูกลบไปด้วย ID 7 ถูกลบไป แต่ในตาราง file fileId 7 ยังอยู่
สั่งลบตารางเดียวหรือป่าว
Date :
2015-10-22 09:35:33
By :
compiak
2 ตาราง ค่ะ
Date :
2015-10-22 09:40:11
By :
tomton
อ่อ เข้าใจผิดมาตั้งนาน ขอบคุณค่าาาาาาา
Date :
2015-10-22 09:50:19
By :
tomton
ใน Code มีแค่ตารางเดียวครับ อีกวิธีลองใช้ Trigger ช่วยครับ
การสร้าง Trigger บน MySQL Database (MySQL ...
Date :
2015-10-22 09:58:23
By :
mr.win
อีกวิธี ก็เปิดใช้ InnoDB กำหนด cascade delete ไว้ด้วย
Date :
2015-10-22 10:11:32
By :
NewbiePHP
แต่ละวิธี expert มากๆ 5555
Date :
2015-10-22 10:28:40
By :
progamer2000
สวดยอดดด แต่ ละวิธีมึนมาก ทำได้แค่ วิธีนี้ ค่าาา แต่มันไม่ยอมลบ ไฟล์ ที่อยู่ในโฟร์เดอร์ ที่สร้างไว้เพื่อเก็บไฟล์ที่อัพโหลด
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php require_once('Connections/myconnect.php');
mysql_select_db($database_myconnect) ;
//*** Delete File ***//
@unlink('fileimg/'.$Filename{$_FILES['filUpload']});
$id=$_GET['upId'];
$sql= "delete from upload,file where upId = '".$id."'";
/*(ลบข้อมูลจากตาราง 2 ตาราง)*/ $sql="DELETE FROM upload,file USING upload
INNER JOIN file
WHERE upload.upId = '$id'
AND file.fileId = upload.fileId";
$result=mysql_db_query($database_myconnect,$sql);
if ($result) {
echo "<script> alert('ลบข้อมูลเรียบร้อยแล้ว');window.location='upload.php';</script>";
} else {
echo "<h3>ไม่สามารถลบข้อมูลได้ครับ</h3>";
}
mysql_close();
?>
Date :
2015-10-22 13:06:16
By :
tomton
จะ ลบไฟล์ที่ upload ก็ต้องเขียนสั่งให้มันลบด้วยคับ
Date :
2015-10-22 13:09:15
By :
progamer2000
ต้องการให้มัน ไปลบ ไฟล์ ที่อยู่ในโฟร์เดอร์ fileimg เพราะในฐานข้อมูลเก็บ เฉพาะ ชื่อไฟล์ แต่ไม่เข้าใจการเขียนโค้ดลบไฟล์ในโฟร์เดอร์ที่เราสร้างไว้ได้หรือป่าวค่าาาาา
Date :
2015-10-22 13:16:07
By :
tomton
unlink('fileimg/'.$Filename{$_FILES['filUpload']} );
ตรงสีแดง echo มันออกมาดูก่อนว่ามันถูกต้องไหม
ปล. งงคำว่า ตารางไฟล์ ถ้าบอกเป็น folder แต่ละท่านคงตอบไปหมดแล้ว
ปล. อีกที เอา @ไปปะหน้าไว้ มีเออเร่อร์ ก็ไม่รู้ครับ เลยไม่รู้ว่ามันไม่ยอมลบให้เพราะอะไร
ประวัติการแก้ไข 2015-10-22 13:39:22 2015-10-22 13:42:03 2015-10-22 13:46:47
Date :
2015-10-22 13:37:14
By :
NewbiePHP
1. คุณต้องไป select field filename เอาชื่อรูปมาเก็บก่อนครับ
ข้อ 2 ทำอันไหนก่อนก็ตามใจ
2. คุณสั่ง delete record นั้นได้เลย
2 หรือคุณจะสั่งลบ รูปใน folder ก่อนก็ได้
unlink ชื่อรูปใน folder ก็เอาชื่อจากที่ select มาได้มา หยอดนะ ไม่น่าใช้ $_FILES['filUpload']
Date :
2015-10-22 14:48:52
By :
progamer2000
หลักการมันจะมีอย่างนี้ครับ
1. เช็คหากมีการส่ง id เพื่อลบข้อมูลมาจริง
2. fetch ข้อมูลที่เป็นชื่อไฟล์(เพราะเราต้องการลบไฟล์ที่อัพโหลดที่เกี่ยวข้องด้วย) และทำการลบไฟล์
3. ลบข้อมูลที่เกี่ยวข้อง
4. จบการทำงานเรื่องการลบ
Ex....
Code (PHP)
#Delete file
$getContent = mysql_query(" SELECT fileName
FROM file
WHERE fileId = '$id'
ORDER BY fileId ASC
");
while($result = mysql_fetch_assoc($getContent)){
@unlink('fileimg/'.$result['fileName']);
}
mysql_query("DELETE FROM file WHERE fileId = '$id' ");
mysql_query("DELETE FROM upload WHERE fileId = '$id' ");
เอาไปดัดแปลงเอาครับ ถ้าโค้ด error ลองแก้ไขเอานะครับ
Date :
2015-10-22 14:57:11
By :
arm8957
Load balance : Server 02