ช่วยดู code ค้นหาให้ทีค่ะ

เริ่มโดย icenobu, 21 เมษายน 2011, 15:14:04

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

icenobu

มีคำถามอยู่ 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>
มือใหม่หัดเขียนเว็บ O(x^^)o
[direct=http://petdeecare.com]สุนัขป่วย[/direct]
[direct=http://petdeecare.com]แมวป่วย[/direct]
[direct=http://petdeecare.com]กระต่ายป่วย[/direct]
[direct=http://www.petdeecare.com/index.php?topic=199.0]แจกสุนัข[/direct]
[direct=http://www.viptashop.com]จำหน่ายชุดเดรส[/direct]

kobkung

1. แน่ใจหรือว่าค้นใน title ดูแล้ว title ไม่อยู่ใน case ค้น ผลที่ออกมามันไปเหมือนเองป่าว left join ถูกไหม
2. จะใส่ ปฏิทินไปใน index หรือจะใส่เงื่อนไขเพิ่มใน search.php
3. ออกเป็น pdf หรือ word ก็ได้ ลองดูเรื่อง header
เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
[direct=http://www.smilephp.com]Smilephp.com[/direct] รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262
[direct=http://www.sellerorder.com ระบบหลังบ้าน จัดการ Order ขายของ  ช่วงนี้หาคนทดสอบฟรี ขอได้ตามเมลในเว็บ[/direct]
งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ

icenobu

1. แน่ใจว่ามันไปค้นใน title ค่ะ ต้องการอยากให้ค้นที่ section_detail ทำไม่ได้จริงๆอ่ะค่ะ ช่วยอธิบายให้หน่อยค่ะ
2. จะใส่ปฏิทินไปใน index ค่ะ
3. มันสั่ง print จากข้อมูลที่โชว์เลยได้ไหมค่ะ โดยไม่ผ่าน pdf หรือโปรแกรมอื่นๆ
มือใหม่หัดเขียนเว็บ O(x^^)o
[direct=http://petdeecare.com]สุนัขป่วย[/direct]
[direct=http://petdeecare.com]แมวป่วย[/direct]
[direct=http://petdeecare.com]กระต่ายป่วย[/direct]
[direct=http://www.petdeecare.com/index.php?topic=199.0]แจกสุนัข[/direct]
[direct=http://www.viptashop.com]จำหน่ายชุดเดรส[/direct]

ohmohm

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

ลองเปลี่ยนเป็น INNER JOIN ไหม

icenobu

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

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 อีกที่ขอแนวทางใส่การค้นหาแบบปฏิทินทีค่ะ
มือใหม่หัดเขียนเว็บ O(x^^)o
[direct=http://petdeecare.com]สุนัขป่วย[/direct]
[direct=http://petdeecare.com]แมวป่วย[/direct]
[direct=http://petdeecare.com]กระต่ายป่วย[/direct]
[direct=http://www.petdeecare.com/index.php?topic=199.0]แจกสุนัข[/direct]
[direct=http://www.viptashop.com]จำหน่ายชุดเดรส[/direct]

kobkung

ลองหาพวก javascript มาใส่ ดิ js , jquery ก็ได้  google มีเพียบ
เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
[direct=http://www.smilephp.com]Smilephp.com[/direct] รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262
[direct=http://www.sellerorder.com ระบบหลังบ้าน จัดการ Order ขายของ  ช่วงนี้หาคนทดสอบฟรี ขอได้ตามเมลในเว็บ[/direct]
งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ

icenobu

อิอิ ได้แล้วค่ะ แต่มีคำถามใหม่มาอีก ที่ว่าใช้คั่ง 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>
มือใหม่หัดเขียนเว็บ O(x^^)o
[direct=http://petdeecare.com]สุนัขป่วย[/direct]
[direct=http://petdeecare.com]แมวป่วย[/direct]
[direct=http://petdeecare.com]กระต่ายป่วย[/direct]
[direct=http://www.petdeecare.com/index.php?topic=199.0]แจกสุนัข[/direct]
[direct=http://www.viptashop.com]จำหน่ายชุดเดรส[/direct]

kobkung

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

สร้าง query ไป count select count(field) แล้วก็ เอาตัวแปรมาโชว์เป็น array ก็ได้
หรือ mysql_num_row เอา  แบบ select count เร็วกว่า โค้ดหาเองเน้อ  :o
เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
[direct=http://www.smilephp.com]Smilephp.com[/direct] รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262
[direct=http://www.sellerorder.com ระบบหลังบ้าน จัดการ Order ขายของ  ช่วงนี้หาคนทดสอบฟรี ขอได้ตามเมลในเว็บ[/direct]
งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ

icenobu

อ้างถึงจาก: kobkung ใน 22 เมษายน 2011, 13:22:27
ใจร้าย ถามไม่หยุด  :wanwan004:

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


ขอบคุณค่า เด่วลองดูก่อง  เค้าออกจะใจดีน่ะ เด่วเถอะ  :wanwan010:
มือใหม่หัดเขียนเว็บ O(x^^)o
[direct=http://petdeecare.com]สุนัขป่วย[/direct]
[direct=http://petdeecare.com]แมวป่วย[/direct]
[direct=http://petdeecare.com]กระต่ายป่วย[/direct]
[direct=http://www.petdeecare.com/index.php?topic=199.0]แจกสุนัข[/direct]
[direct=http://www.viptashop.com]จำหน่ายชุดเดรส[/direct]

dreamer

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

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

ไม่รู้ว่าต้องการแบบนี้หรือเปล่านะ