รายละเอียดของการตอบ ::
ขอบคุณนะคะ ที่ช่วยดู
ยังไงดี จริงๆ ใน From เราต้องเขียนแบบนี้
Code (PHP)
<Br>
ค้าหาข้อมูล
<Br>
<Form method="post" action="Testsa111.php">
<Select name="field_search" size="1" id="sea">
<Option value="Project_Name">ชื่อโครงการ</option>
<Option value="Programmer1">ผู้จัดทำ1</option>
<Option value="Programmer2">ผู้จัดทำ2</option>
<Option value="Programmer3">ผู้จัดทำ3</option>
<Option value="Room">ห้อง</option>
<Option value="Year">ปี</option>
<Option value="Adviser1">หลัก</option>
<Option value="Adviser2">Adviser1</option>
</Select>
<Input type="text" name="search" size="25">
<Input type="submit" value="ค้นหา">
</Form>
<Br>
</Form>
ในการค้นหา ผู้จัดทำโครงการ เพราะ
บางโครงการมี 1 คน บางโครง มี 3 คน
เราจะให้ผู้ใช้ หาชื่อว่า คนนี้ ทำโครงการไหน คนนี้ทำโครงการอะไร
แต่ db เรา 1 ฟิล เก็บ 1 คน
ถ้าเราทำแบบในโค๊ตที่เขียน ในการค้นหา คำ จาก ผู้จัดทำ มันจะมี 3 อัน
ซึ้ง ต้องตามลำดับ ฟิล ที่เราเก็บ
สมมุติ โครงการ A มีคนทำ 3 คน
มี นาย กอ นาย ขอ และ นาย คอ เราก็เก็บฟิล เป็น
Programmer1 = นายกอ , Programmer2 = นาย ขอ และ Programmer3 = นาย คอ
แต่ในการค้นหาคนทำ ผู้ใช้ไม่รู้ว่า ทั้ง 3 คน ใคร อยู่ลำดับที่เท่าไหร่
คือ เราอยากจะค้นหา Programmer1 Programmer2 และ Programmer3
ใน Select เดียว ไม่ต้องใช้ 3 อันแบบในรูป
Code (PHP)
<?php
//กำหนดตัวแปรเพื่อนำไปใช้งาน
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "1234"; //รหัสผ่าน
$dbname = "testject"; //ชื่อฐานข้อมูล
$tblname = "jecttest";
// เริ่มติดต่อฐานข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES TIS620");
mysql_query("set character_set_results = tis620");
mysql_query("set character_set_client = tis620");
mysql_query("set character_set_connection = tis620");
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select * from $tblname where $field_search like '%$search%'"; // กำหนดคำสั่ง SQL เพื่อแสดงข้อมูล
$dbquery = mysql_db_query($dbname, $sql);
// หาจำนวนเรกคอร์ดข้อมูลในตาราง
$num_rows = mysql_num_rows($dbquery);
// หาจำนวนฟิลด์ในตาราง
$num_fields = mysql_num_fields($dbquery);
echo "<Font color=blue> แสดงผลการค้นหาข้อมูลที่มีคำว่า </Font><Font color=red>" .$search." </Font>";
echo "<Table border=1>";
echo "<Tr>";
// พิมพ์ส่วนหัวตาราง
echo "<Tr bgcolor='6ef160'><td><b><center>ลำดับที่</b></td><td><center><b>ชื่อโครงการ</b></td></tr>";
// เริ่มวนรอบแสดงข้อมูล
$i=0;
$k=1;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$id= $result[id];
$Project_Name= $result[Project_Name];
$Programmer1 = $result[Programmer1];
$Programmer2 = $result[Programmer2];
$Programmer3 = $result[Programmer3];
$Room = $result[Room];
$Year = $result[Year];
$Adviser1 = $result[Adviser1];
$Adviser2 = $result[Adviser2];
echo "<Tr> <Td>$k</Td> <Td><A Href=\"Show.php?Project_Name=$Project_Name\">$Project_Name </A><Br>$Programmer3</Td></Tr>";
$i++;
$k++;
}
echo "</Table><br><br>";
if ( $i > 0 ) {
echo "<Br>ค้นพบ <Font color=red>". $i." </Font>เรกคอร์ด";
}
else {
echo "<Br> <Font color=red> ไม่มีข้อมูลที่คุณค้นหา</Font>";
}
echo "<Br><Br><A Href=\"TestP.php\">เพิ่มข้อมูลอีก </A>";
echo "/<A Href=\"Tests.php\">ค้นหาข้อมูล </A>";
echo "</B></Font>";
echo "</Table>";
mysql_close(); // ปิดการเชื่อมต่อ
?>
ไม่แน่ใจว่า SQL ที่ว่า คืออันนี้หรือเปล่า