Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > วิธีลบข้อมูล 5 ตารางที่ join กัน ผมทำแบบนี้ถูกไหมครับช่วยดูหน่อยครับ ทำไมไม่ได้



 

วิธีลบข้อมูล 5 ตารางที่ join กัน ผมทำแบบนี้ถูกไหมครับช่วยดูหน่อยครับ ทำไมไม่ได้

 



Topic : 130834



โพสกระทู้ ( 25 )
บทความ ( 0 )



สถานะออฟไลน์




ช่วยดูให้หน่อยครับลบข้อมูลในตาราง 5 ตารางที่ join กัน
ตารางมีทั้งหมด 5 ตารางครับที่ต้องการลบ ทั้ง5 ตารางนี้ join std_id ทั้ง 5 ตารางครับ
ตาราง ชื่อ student, status_student, score, pro_topten, pre_topten



ส่วนแสดงข้อมูล
Code (PHP)
<?php
    include("../config.php"); 
?>

<html>
    <head>
        <meta charset="UTF-8">
        <title>Local History Southern Thailand </title>
        <link rel="stylesheet" href="../css/">
    </head>

    <body>
        <h2>รายชื่อนักนักศึกษา</h2>
        <table width="20%"  align="center">
            <tr>
                <th>ลบรายชื่อทั้งหมด</th>
                <td>ลบ</td>
            </tr>
        </table>
        <table width="90%" border="1" align="center">
        <tr>
            <th>Username</th>
            <th>Password</th>
            <th>รหัสนักศึกษา</th>
            <th>ชื่อ</th>
            <th>สกุล</th>
            <th></th>
            <th></th>
        </tr>
    <?php
    $sqli = "SELECT * FROM student order by codestudent DESC";
    $query = mysqli_query($con, $sqli) or die("Error (".$sqli.")");
    while($row = mysqli_fetch_array($query)){
    ?>
        <tr>
            <td hidden="hidden"><?php echo $row["std_id"] ?></td>
            <td><?php echo $row["user_id"] ?></td>
            <td><?php echo $row["user_password"]?></td>
            <td><?php echo $row["codestudent"]?></td>
            <td><?php echo $row["username"]?></td>
            <td><?php echo $row["lastname"]?></td>
            <td><a href="edit_student.php?std_id=<?php echo $row["std_id"]?>">แก้ไข</a></td>
            <td><a href="delete_student.php?std_id=<?php echo $row["std_id"]?>" onclick='return confirm("คุณแน่ใจที่จะลบ")'>ลบ</a></td>
        </tr>
        <?php } ?>
        </table>
 
    </body>
</html>
<?php
	mysqli_close($con);
?>




ส่วนคำสั่งลบ
Code (PHP)
<?php 
    session_start();
    include("../config.php");  

    $std_id = $_GET['std_id'];
?>
   
<?php
	$sql = "DELETE FROM 'student', 'status_student', 'score', 'pro_topten', 'pre_topten'
        USING 'student'
            INNER JOIN 'status_student' 
            INNER JOIN 'score'
            INNER JOIN 'pro_topten'
            INNER JOIN 'pre_topten'
        WHERE 'student'.'std_id' = '$std_id'
            AND 'status_student' .'user_id' = 'student'.'id'
            AND 'score'.'user_id' = 'student'.'id'
            AND 'pro_topten'.'user_id' = 'student'.'id'
            AND 'pre_topten'.'user_id' = 'student'.'id'";

	$query = mysqli_query($con,$sql) or die ("ไม่สามารถลบได้ : (".$sql.")");
	echo"<script>alert('ลบข้อมูลเรียบร้อยแล้ว');</script>";
	echo"<script>window.location='search_pretest.php';</script>";
?>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-04-14 22:31:01 By : tonmio852 View : 1248 Reply : 6
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
$sql="DELETE s1,s2,s3, p1,p2
FROM student s1, status_student s2, score s3, pro_topten p1, pre_topten p2
where s1.std_id = $std_id
AND s2.user_id = s1.id
AND s3.user_id = s1.id
AND p1.user_id = s1.id
AND p2.user_id = s1.id";



แนะนำให้ทำ foreign key delete cascade ไว้จะดีกว่า ลบ main ทีเดียวเลย






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-15 04:12:57 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 25 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-04-15 04:12:57
รายละเอียดของการตอบ ::
foreign key delete cascade ทำยังไงหรอครับ ช่วยอธิบายหน่อยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-15 22:00:29 By : tonmio852
 

 

No. 3



โพสกระทู้ ( 25 )
บทความ ( 0 )



สถานะออฟไลน์


ยังลบไม่ได้เลยครับ ขึ้นแจ้งเตือนแบบนี้
22
Code (PHP)
    $sql="DELETE s1, s2, s3, p1, p2
    FROM student s1, status_student s2, score s3, pro_topten p1, pre_topten p2
    where s1.std_id = $std_id
        AND s2.std_id = s1.std_id
        AND s3.std_id = s1.std_id
        AND p1.std_id = s1.std_id
        AND p2.std_id = s1.std_id";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-15 22:19:34 By : tonmio852
 


 

No. 4



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


https://dev.mysql.com/doc/refman/5.7/en/delete.html

ลองเอาไปรันบน phpmyadmin ดูว่าเขาแจ้งอะไรดีกว่าครับ โค๊ดแจ้งเออเร่อร์ในโปรแกรมที่เขียนเองไม่สมบูรณ์
ก็จะแก้ไขยากเพราะต้องมางมเอง

ที่ถูกต้องควรเขียนเขียนแบบนี้

$query = $con->query($sql) or die ('ไม่สามารถลบได้ :<br>'. $con->error . '<br>' . $sql);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-15 23:18:15 By : Chaidhanan
 


 

No. 5



โพสกระทู้ ( 25 )
บทความ ( 0 )



สถานะออฟไลน์


ขึ้นแจ้งเตือนแบบนี้อะครับ หมายความว่ายังไงหรอครับ
1

2

re2


ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-04-15 23:18:15
รายละเอียดของการตอบ ::

Code (PHP)
    $sql="DELETE s1, s2, s3, p1, p2
    FROM student as s1, status_student as s2, score as s3, pro_topten as p1, pre_topten as p2
    where s1.std_id = s2.std_id
        AND s2.std_id = s3.std_id
        AND s3.std_id = p1.std_id
        AND p1.std_id = p2.std_id
        AND s1.std_id = $std_id";





ประวัติการแก้ไข
2018-04-16 01:37:29
2018-04-16 01:41:09
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-16 00:21:21 By : tonmio852
 


 

No. 6



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


relation view

delete cascade

เวลาสั่งลบให้ ลบ ตารางแม่ ตารางเดียว ตารางลูกที่เกี่ยวข้องจะถูกลบด้วย


ส่วนโค๊ดผม ที่ทำไว้ ลบไม่ได้ เพราะมีการทำ relation เอาไว้แล้ว
ถ้าผิดการอ้างอิง ก็จะไม่ให้ลบ ก็ต้อง จัดวางลำดับการ ลบให้ถูกต้อง
เอาแบบตามรูปภาพดีกว่าครับ ชัดเจน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-16 07:37:39 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : วิธีลบข้อมูล 5 ตารางที่ join กัน ผมทำแบบนี้ถูกไหมครับช่วยดูหน่อยครับ ทำไมไม่ได้
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่