ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยดู code ค้นหาให้ทีค่ะ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยดู code ค้นหาให้ทีค่ะ  (อ่าน 2165 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
icenobu
ก๊วนเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 416



ดูรายละเอียด
« เมื่อ: 21 เมษายน 2011, 15:14:04 »

มีคำถามอยู่ 3 ข้อ
1. ตรงจุดค้นหาต้องการจะค้นหา section_detail แต่มันไปค้นหาที่ title อ่ะ พยายามแก้แล้วแต่ไม่ได้อ่ะค่ะ
2. ต้องการจะเพิ่มในส่วนของการค้นหาแบบที่มีตารางวันที่ให้เลือกจะสามารถทำได้อย่างไร ลองใส่แล้วก็ไม่ได้
3. อยากให้ข้อมูลที่ออกมาสามารถ print ออกมาได้ ตรงนี้พอทำได้ในรูปแบบ excel ค่ะ คืออยากได้แบบอื่นมั่งค่ะ สามรถทำอย่างไรได้บ้าง


index.php

โค๊ด:
<?
// Config DB
$db_hostname='localhost';
$db_username='root';
$db_password='root';
$db_name="icenobu";
mysql_connect($db_hostname,$db_username,$db_password) or die("Unable to Connect");
mysql_query("SET NAMES tis620");
mysql_select_db( $db_name );
// End Config DB
?>
<html>
<head>
<title>Search Data</title>
</head>
<body>
<form method="get" action="search.php">
<input type="text" name="keyword">
<select name="emp_id">
<option value="">ทั้งหมด</option>
<?
$sql = "select emp_id, department_id  from cases ";
$result = mysql_query($sql);
while ($rows = mysql_fetch_array($result)) {
$emp_id = $rows["emp_id"];
$title = $rows["title"];
echo "<option value=\"$emp_id\">$department_id</option>";
}
?>
</select>
<input type="submit" value="ค้นหา">
</form>
</body>
</html>

search.php

โค๊ด:
<?
$keyword = $_GET["keyword"];
$emp_id = $_GET["emp_id"];

// Config DB
$db_hostname='localhost';
$db_username='root';
$db_password='root';
$db_name="icenobu";
mysql_connect($db_hostname,$db_username,$db_password) or die("Unable to Connect");
mysql_query("SET NAMES tis620");
mysql_select_db( $db_name );
// End Config DB

?><html>
<head>
<title>Search Data</title>
</head>
<body>
<a href="index.php">กลับหน้าค้นหา</a>
<table width="100%" border="1">
<tr align="center">
<td>รหัสพนักงาน</td>
<td>ชื่อเรื่อง</td>
<td>รายละเอียด</td>
<td>รหัสแผนก</td>
<td>แผนก</td>
</tr>
<?
$sql = "
SELECT
`cases`.`department_id`,
`section`.`section_id`,
`section`.`section_detail`
FROM cases LEFT JOIN section ON (cases.department_id=section.section_id)
";
if($keyword) { $sql .= " and section.section_detail like '%$keyword%'"; }
if($department_id) { $sql .= " and cases.department_id = '$department_id'";}

$result = mysql_query($sql);
while ($rows = mysql_fetch_array($result)) {
$i++;
$emp_id = $rows["emp_id"];
$title = $rows["title"];
$section_id = $rows["section_id"];
$description = $rows["description"];
$solution_date = $rows["solution_detail"];
echo "
<tr>
<td>$emp_id</td>
<td>$title</td>
<td>$description</td>
<td>$section_id</td>
<td>$section_detail</td>
</tr>
";
}
?>
</table>
</body>
</html>
บันทึกการเข้า

kobkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 103
ออฟไลน์ ออฟไลน์

กระทู้: 1,312



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 21 เมษายน 2011, 18:38:39 »

1. แน่ใจหรือว่าค้นใน title ดูแล้ว title ไม่อยู่ใน case ค้น ผลที่ออกมามันไปเหมือนเองป่าว left join ถูกไหม
2. จะใส่ ปฏิทินไปใน index หรือจะใส่เงื่อนไขเพิ่มใน search.php
3. ออกเป็น pdf หรือ word ก็ได้ ลองดูเรื่อง header
บันทึกการเข้า

เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
Smilephp.com รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262

งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ
icenobu
ก๊วนเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 416



ดูรายละเอียด
« ตอบ #2 เมื่อ: 21 เมษายน 2011, 19:22:29 »

1. แน่ใจว่ามันไปค้นใน title ค่ะ ต้องการอยากให้ค้นที่ section_detail ทำไม่ได้จริงๆอ่ะค่ะ ช่วยอธิบายให้หน่อยค่ะ
2. จะใส่ปฏิทินไปใน index ค่ะ
3. มันสั่ง print จากข้อมูลที่โชว์เลยได้ไหมค่ะ โดยไม่ผ่าน pdf หรือโปรแกรมอื่นๆ
บันทึกการเข้า

ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,098



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 21 เมษายน 2011, 20:01:32 »

ที่ search.php มี SELECT LEFT JOIN ให้ระวัง ถ้าหลัง ON มีเงื่อนไขที่อ้าง columns ที่มาจาก table ที่อยู่หลัง LEFT JOIN แล้วเงื่อนไขนั้นแม้เป็นเท็จ แต่ผลลัพธ์ของ SELECT จะออกมาอยู่ดี โดยแสดงข้อมูลที่เจอจาก table ที่อยู่หน้า LEFT JOIN ส่วน table ที่อยู่หลังที่ไม่มีข้อมูล จะแสดงเป็น NULL แทน

ลองเปลี่ยนเป็น INNER JOIN ไหม
บันทึกการเข้า
icenobu
ก๊วนเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 416



ดูรายละเอียด
« ตอบ #4 เมื่อ: 22 เมษายน 2011, 08:38:46 »

อิอิ ดัดได้แล้วค่ะ

โค๊ด:
	select l.emp_id, l.department_id, l.title, t.section_id, l.description, t.section_detail
from `cases` l, section t
where l.department_id = t.section_id

แต่ติดตรงข้อ 2 อีกที่ขอแนวทางใส่การค้นหาแบบปฏิทินทีค่ะ
บันทึกการเข้า

kobkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 103
ออฟไลน์ ออฟไลน์

กระทู้: 1,312



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 22 เมษายน 2011, 10:15:10 »

ลองหาพวก javascript มาใส่ ดิ js , jquery ก็ได้  google มีเพียบ
บันทึกการเข้า

เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
Smilephp.com รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262

งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ
icenobu
ก๊วนเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 416



ดูรายละเอียด
« ตอบ #6 เมื่อ: 22 เมษายน 2011, 10:26:21 »

อิอิ ได้แล้วค่ะ แต่มีคำถามใหม่มาอีก ที่ว่าใช้คั่ง count(case_id),case_type
จะทำยังไงให้มันโชว์ผลลัพธ์ที่มัน count ไว้อ่ะค่ะ


โค๊ด:
<?
$keyword = $_GET["keyword"];
$emp_id = $_GET["emp_id"];

// Config DB
$db_hostname='localhost';
$db_username='root';
$db_password='root';
$db_name="icenobu";
mysql_connect($db_hostname,$db_username,$db_password) or die("Unable to Connect");
mysql_query("SET NAMES tis620");
mysql_select_db( $db_name );
// End Config DB

?><html>
<head>
<title>Search Data</title>
</head>
<body>
<a href="index.php">กลับหน้าค้นหา</a>
<table width="100%" border="1">
<tr align="center">
<td>รหัสพนักงาน</td>
<td>รหัสแผนก</td>
<td>ชื่อเรื่อง</td>
<td>รายละเอียด</td>
<td>จำนวน</td>
</tr>
<?
$sql = "
SELECT l.emp_id, l.department_id, l.title, t.section_id, l.description, t.section_detail, department_id,count(case_id),case_type
FROM `cases` l, section t
WHERE l.department_id = t.section_id
GROUP BY department_id,case_type
";
if($keyword) { $sql .= " and l.title like '%$keyword%'"; }
if($section_detail) { $sql .= " and t.section_detail = '$section_detail'";}

$result = mysql_query($sql);
while ($rows = mysql_fetch_array($result)) {
$i++;
$emp_id = $rows["emp_id"];
$section_detail = $rows["section_detail"];
$title = $rows["title"];
$description = $rows["description"];
$case_id = $rows["case_id"];
echo "
<tr>
<td>$emp_id</td>
<td>$section_detail</td>
<td>$title</td>
<td>$description</td>
<td>$case_id</td>
</tr>
";
}
?>
</table>
</body>
</html>
บันทึกการเข้า

kobkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 103
ออฟไลน์ ออฟไลน์

กระทู้: 1,312



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 22 เมษายน 2011, 13:22:27 »

ใจร้าย ถามไม่หยุด  wanwan004

สร้าง query ไป count select count(field) แล้วก็ เอาตัวแปรมาโชว์เป็น array ก็ได้
หรือ mysql_num_row เอา  แบบ select count เร็วกว่า โค้ดหาเองเน้อ  Shocked
บันทึกการเข้า

เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
Smilephp.com รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262

งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ
icenobu
ก๊วนเสียว
*

พลังน้ำใจ: 36
ออฟไลน์ ออฟไลน์

กระทู้: 416



ดูรายละเอียด
« ตอบ #8 เมื่อ: 22 เมษายน 2011, 13:46:24 »

ใจร้าย ถามไม่หยุด  wanwan004

สร้าง query ไป count select count(field) แล้วก็ เอาตัวแปรมาโชว์เป็น array ก็ได้
หรือ mysql_num_row เอา  แบบ select count เร็วกว่า โค้ดหาเองเน้อ  Shocked


ขอบคุณค่า เด่วลองดูก่อง  เค้าออกจะใจดีน่ะ เด่วเถอะ  wanwan010
บันทึกการเข้า

dreamer
คนรักเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 134



ดูรายละเอียด
« ตอบ #9 เมื่อ: 22 เมษายน 2011, 15:00:06 »

select count(case_id),case_type from table_name group by case_type

จะนับจำนวนแยกตาม case_type

ไม่รู้ว่าต้องการแบบนี้หรือเปล่านะ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์