Join ตารางแล้วแสดงข้อมูล Master-Detail (mysqli) ไม่ได้
error ว่า ???
Date :
2016-02-26 09:17:40
By :
ห้ามตอบเกินวันละ 2 กระทู้
เขียน JOIN ไว้ยังไงบ้างครับ
Date :
2016-02-26 09:40:48
By :
mr.win
error ตรง $result=mysqli_fetch_array($query,MYSQLI_ASSOC); อ่ะค่ะ
Code (PHP)
<body>
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "project_dolphin";
$strDolphin_id = null;
if(isset($_GET["Dolphin_id"]))
{
$strDolphin_id = $_GET["Dolphin_id"];
}
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "project_dolphin";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "SELECT * FROM dolphin_sighting
LEFT JOIN add_dolphin ON dolphin_sighting.Dolphin_id = add_dolphin.Dolphin_id
LEFT JOIN sighting ON dolphin_sighting.Sighting_id = sighting.Sighting_id
WHERE Dolphin_id = '".$strDolphin_id."' ";
$query = mysqli_query($conn,$sql);
$result=mysqli_fetch_array($query,MYSQLI_ASSOC);
?>
<table width="284" border="1">
<tr>
<th width="120">Dolphin_id</th>
<th width="120">Name</th>
<th width="120">Sighting_id</th>
<th width="120">Location</th>
</tr>
<tr>
<td><?php echo $result["Dolphin_id"];?></td>
<td><?php echo $result["Name"];?></td>
<td><?php echo $result["Sighting_id"];?></td>
<td><?php echo $result["Location"];?></td>
</tr>
</table>
<?php
mysqli_close($conn);
?>
</body>
</html>
Date :
2016-02-27 11:37:16
By :
oil
Code (PHP)
echo $sql;
เอาค่า SQL ออกมาดูหน่อยครับ
Date :
2016-02-27 12:00:00
By :
mr.win
มีข้อมูลทั้งหมด 3 ตาราง คือ
1. add_dolphin (ข้อมูลโลมา)
2. sighting (จุดที่พบเห็นโลมา)
3. dolphin_sighting (เชื่อมความสัมพันธ์ด้วย ID ของ 2 ตารางข้างต้นเพื่อดูว่าโลมาตัวไหน เจอที่ไหนบ้าง)
สร้าง List.php จากตาราง add_dolphin (ข้อมูลโลมา)
Code (PHP)
$sql = "SELECT * FROM add_dolphin";
ดูรายละเอียดโลมาตัวนั้นๆ ว่าพบเจอที่จุดใดบ้าง
โดยดึง Dolphin_id จากหน้า List.php ของตาราง add_dolphin
มาแสดงข้อมูลของ Dolphin_id ตัวนั้นในหน้า detail.php แต่ใช้ตาราง dolphin_sighting
เพื่อที่จะดูความสัมพันธ์ว่าโลมาตัวนี้พบเจอที่ใดบ้าง ลักษณะของข้อมูลที่เก็บเป็นแบบนี้ค่ะ
-------------------------- โค้ด JOIN -------------------------------
Code (PHP)
$sql = "SELECT * FROM dolphin_sighting
LEFT JOIN add_dolphin ON dolphin_sighting.Dolphin_id = add_dolphin.Dolphin_id
LEFT JOIN sighting ON dolphin_sighting.Sighting_id = sighting.Sighting_id";
JOINE แล้วข้อมูลจะอยู่ในลักษณะนี้ค่ะ
Dolphin_id ____ Name ___ Sighting_id ___Location
-------------------------------------------------------------------
___1 _______ UC001 ______ 1 __________A1__
___1 _______ UC001 ______ 2 __________A2__
___1 _______ UC001 ______ 3 __________A3__
อยากให้เมื่อเลือกรหัสโลมา 1 ก็แสดงข้อมูลทั้งหมดของโลมารหัส 1
ประวัติการแก้ไข 2016-02-28 00:28:24 2016-02-28 00:29:54 2016-02-28 00:32:06 2016-02-28 00:33:34
Date :
2016-02-28 00:27:23
By :
oil
ช่วยหน่อยนะค๊า ยังไม่ออกเลย TT
Date :
2016-02-28 21:53:59
By :
oil
Load balance : Server 05