 |
สอบถามหน่อยคำว่าควรแก้ตรงไหน แสดงตารางแล้วข้อมูลซ้ำกันซ้อนกันไม่ตรงกัน |
|
 |
|
|
 |
 |
|
1. ดูการใช้คำสั่งก่อน
Code (PHP)
$sql = "SELECT costomer.*,room.* FROM costomer,room" or die("Error:" . mysql_error());
$result = mysql_query($sql, $conn);
ข้างบน บันทัดแรก or die ..... เอาไปไว้ที่บันทัดสอง
การกำหนดค่าตัวแปร ด้วย string ธรรมดา ไม่ต้องมีการตรวจเช็ค error mysql หรอกครับ
เอาไปตรวจเช็คการทำงานของคำสั่ง mysql_query ถึงจะถูก ตรวจสอบว่ามันคิวรี่ได้ไม่ได้
Code (PHP)
$sql = "SELECT costomer.*,room.* FROM costomer,room";
$result = mysql_query($sql, $conn) or die("Error: $sql" . mysql_error());
2. statement "SELECT costomer.*,room.* FROM costomer,room"
กรณีใช้ * ทั้งสองตาราง นั่นหมายถึงเอาทุก field ของทั้งสองตาราง ก็ใช้แค่ * ตัวเดียวพอ
SELECT * FROM costomer,room แต่แนะนำให้ลงชื่อ field ที่ต้องการเลยดีกว่า
SELECT t1.fld1, t1.fld2, t2.fld_a, t2.fld_b FROM costomer as t1, room as t1
3 statement "SELECT costomer.*,room.* FROM costomer,room" ไม่มีการใช้ความสัมพันธ์ระหว่างตาราง
นั่นหมายถึง เอาทุก เรคคอร์ด ของทั้งสองตารางมาเชือมต่อกัน
สมมติถ้ามีตารางละ 2 เรคคอร์ดจะได้ result ทั้งหมด 4 เรคคอร์ด ทำให้ได้ข้อมูลซ้ำซ้อนกัน
t1.rec1 + t2.rec1
t1.rec1 + t2.rec2
t1.rec2 + t2.rec1
t1.rec2 + t2.rec2
ดังนั้นต้องใส่ condition ในการเชื่อมความสัมพันธ์กัน
ตัวอย่างการเชื่อมความสัมพันธ์
Code (SQL)
SELECT t1.fld1, t2.fld_b FROM costomer as t1, room as t2
where t1.fld2 = t2.fld_a
|
 |
 |
 |
 |
Date :
2017-10-15 10:51:59 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ข้อมูลจริงๆ ก็ซ้ำหรือเปล่าครับ ถ้าซ้ำ ควรจัดการใน database เลยครับ เพราะ code นี้ ไม่ได้ส่งผลให้มันซ้ำกัน
ขออนุญาตแนะนำเพิ่มนิดนึงครับ
c_id เป็น primary key หรือเปล่าครับ ถ้าเป็นมันไม่ควรซ้ำกันได้นะครับ กำหนดเป็น auto running ไปเลย
|
 |
 |
 |
 |
Date :
2017-10-15 10:53:49 |
By :
mangkunzo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณนะคะ
|
ประวัติการแก้ไข 2017-10-27 21:55:19
 |
 |
 |
 |
Date :
2017-10-27 21:48:48 |
By :
qpsreduce |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอแนะนำ นิดหนิึ่ง
Code (PHP)
if($_SESSION["ID"] == 1) // ID = 1 มีค่าเท่ากับ Administrator
{
/// ใส่ Code SELECT
/// หมายถึง จะเห็นข้อมูลทั้งหมด
}else{
/// ใส่ Code SELECT และ WHERE ID = '".$_SESSION["ID"]."'
// หมายถึง ถ้า หาก ID = 1 อุ๋งๆ เข้ามาในหน้านี้ ก็จะเห็น แค่ของ ID = 1
}
ลองไปเล่นดู
|
 |
 |
 |
 |
Date :
2017-10-28 09:13:44 |
By :
Hararock |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|