Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > พี่ๆค่ะ รบกวนดูโค้ดให้หน่อยนะค่ะ คือตอนนี้ หนูทำการค้นหาข้อมูลจากฐานข้อมูลค่ะ แล้วหนูนับคำที่ค้นเจอด้วยค่ะ



 

พี่ๆค่ะ รบกวนดูโค้ดให้หน่อยนะค่ะ คือตอนนี้ หนูทำการค้นหาข้อมูลจากฐานข้อมูลค่ะ แล้วหนูนับคำที่ค้นเจอด้วยค่ะ

 



Topic : 105865

Guest




พี่ๆค่ะ รบกวนดูโค้ดให้หน่อยนะค่ะ

คือตอนนี้ หนูทำการค้นหาข้อมูลจากฐานข้อมูลค่ะ แล้วหนูนับคำที่ค้นเจอด้วยค่ะ ว่าในแต่ละเรคคอร์ดเจอกี่คำ
ปัญหาที่อยากรบกวนคือ หนูอยากทราบว่า ถ้าต้องการเรียงลำดับการค้นหาจากมากไปน้อย ต้องทำอย่างไรค่ะ?
รบกวนพี่ๆ ผู้รู้ด้วยนะค่ะ

Code (PHP)
<meta charset="utf-8" />
<?php
require("connect.php");

$search = 'ปวดท้อง ตำลึง ยาสาระบาด';
//$search = $_POST['searchtxt'];	
$inputlist = explode(' ',  trim($search));
echo "<h3>...Inputlist..."; print_r($inputlist); echo "</h3><br>";
$conditionarr = array();
foreach ($inputlist as $val) {
    array_push($conditionarr, "isan like '%{$val}%'");
    array_push($conditionarr, "thai like '%{$val}%'");
}
//echo '$conditionarr.......';  print_r($conditionarr); echo '<br><hr>';

if (count($conditionarr) > 0) {
    $condition = " where " . implode(" or ", $conditionarr);
	//echo "<br>condition..."; print_r($condition); echo "<br><hr>";
}

$sql = "SELECT * FROM dictionary $condition";
echo "select dict...".$sql."<br><hr>"; 
$data = mysql_query($sql);
$dictISArr = array();
$dictTHArr = array();

while ($row = mysql_fetch_array($data)){
	$dictISArr[] = $row[1];
	$dictTHArr[] = $row[2];
//	echo '<br>Isan...';	print_r($dictISArr); echo '<hr>';
//	print_r($dictTHArr); echo '<hr>';
		
      
	}
	echo 'Inputlist...2';  print_r($inputlist); echo '<hr>';
		$mergeArray_d = array_merge($dictISArr, $dictTHArr, $inputlist);
		echo 'merg_d....'; print_r( $mergeArray_d ); echo '<br><hr>';
	
		$resultxx_d = array_unique($mergeArray_d);
		echo 'resultxx_d....'; print_r( $resultxx_d ); echo '<br>';
		$replace = str_replace($dictTHArr, ' ', $resultxx_d);
		echo 'REPLACE --> '; print_r($replace);  echo '<hr>';
		
			
	$conditionarrM = array();
	foreach ($resultxx_d as $val2) {
    	array_push($conditionarrM, "keyword like '%{$val2}%'");
	    array_push($conditionarrM, "treat like '%{$val2}%'");
	}
	//echo '$conM...';	print_r($conditionarrM);  echo '<br><hr>';
	
	
	if (count($conditionarrM) > 0) {
    	$conditionM = " where " . implode(" or ", $conditionarrM);
		//echo "<br>...conditionM..."; print_r($conditionM); echo "<br><hr>";
	}
	
	$resultM = array();
	$strsql = "select * from med $conditionM";
	echo "SELECT_MED =>...".$strsql."<br><br>";
    $datamed = mysql_query($strsql);
	$num = mysql_num_rows($datamed);
	echo $num.'<br>';
	
    while ($rowmed = mysql_fetch_assoc($datamed)) {
        $resultM[] = $rowmed;		
		$wordarr = explode(' ', $rowmed['keyword']);
		$wordarr2 = explode(' ', $rowmed['treat']);
	
		
		$mergeArray=array_merge($wordarr, $wordarr2);
	
		$resultxx = array_unique($mergeArray);		
	//	echo '<hr>resultxx...'; print_r($resultxx); echo '<br><br>';
		$keyword = $inputlist;	
		
		
		
		$countkeysearch = array();
		foreach ($replace as $valuesearch){
		//	echo 'value '; print_r($valuesearch);  echo '-----';
			$count = 0;
			foreach ($resultxx as $value){
			//	echo 'value '; print_r($value); echo '</br>';
				if (@strpos($value, $valuesearch) !== false){
					$count++;
				}
			
			}			
			$countkeysearch[$valuesearch] = $count;	
			//echo "..........Count...".$countkeysearch[$valuesearch];  	echo ' '.$valuesearch.'<br>';// จำนวนที่ได้แต่ละค่า	
		}
		
		$sum = array_sum($countkeysearch);		

		//echo 'รหัสตำรายา...'.$rowmed['medID'].'<br>คำค้น...'.$rowmed['keyword'].'<br>การรักษา...'.$rowmed['treat'].'<br>เนื้อหาตำรายา...'.$rowmed['detail'].' พบทั้งหมด '.$sum.' คำ ';  echo '<hr>';
		//echo '<br>Count..'; print_r($countkeysearch); echo '<br>';	
		
		$key_med = $rowmed['keyword'];		
		$treat_med = $rowmed['treat'];
		foreach ($resultxx_d AS $w){
			$key_med = str_replace($w, '<b>' . $w . '</b>', $key_med);		
			$treat_med = str_replace($w, '<b>' . $w . '</b>', $treat_med);					
		}
	//	echo 'รหัสตำรายา...'.$rowmed['medID'].'<br>คำค้น...'.$key_med.'<br>การรักษา...'.$treat_med.'<br>เนื้อหาตำรายา...'.$rowmed['detail'].' พบทั้งหมด '.$sum.' คำ ';  echo '<hr>';
//		echo 'รหัสตำรายา...'.$rowmed['medID'].'&nbsp;&nbsp;&nbsp;'.'พบทั้งหมด '.$sum.' คำ ';  echo '<hr>';
//	echo $sum;
	}//echo '<br>Count..'; print_r($countkeysearch); echo '<br>';	
			
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-15 22:30:00 By : stampbnp View : 703 Reply : 5
 

 

No. 1



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5

อ่านไม่ออกขอ อนุญาติวางให้ใหม่น่ะครับCode (PHP)
<meta charset="utf-8" />
<?php
require("connect.php");

$search = 'ปวดท้อง ตำลึง ยาสาระบาด';
//$search = $_POST['searchtxt'];	
$inputlist = explode(' ', trim($search));
echo "<h3>...Inputlist..."; print_r($inputlist); echo "</h3><br>";
$conditionarr = array();
foreach ($inputlist as $val) {
array_push($conditionarr, "isan like '%{$val}%'");
array_push($conditionarr, "thai like '%{$val}%'");
}
//echo '$conditionarr.......'; print_r($conditionarr); echo '<br><hr>';

if (count($conditionarr) > 0) {
$condition = " where " . implode(" or ", $conditionarr);
//echo "<br>condition..."; print_r($condition); echo "<br><hr>";
}

$sql = "SELECT * FROM dictionary $condition";
echo "select dict...".$sql."<br><hr>"; 
$data = mysql_query($sql);
$dictISArr = array();
$dictTHArr = array();

while ($row = mysql_fetch_array($data)){
$dictISArr[] = $row[1];
$dictTHArr[] = $row[2];
//	echo '<br>Isan...';	print_r($dictISArr); echo '<hr>';
//	print_r($dictTHArr); echo '<hr>';


}
echo 'Inputlist...2'; print_r($inputlist); echo '<hr>';
$mergeArray_d = array_merge($dictISArr, $dictTHArr, $inputlist);
echo 'merg_d....'; print_r( $mergeArray_d ); echo '<br><hr>';

$resultxx_d = array_unique($mergeArray_d);
echo 'resultxx_d....'; print_r( $resultxx_d ); echo '<br>';
$replace = str_replace($dictTHArr, ' ', $resultxx_d);
echo 'REPLACE --> '; print_r($replace); echo '<hr>';


$conditionarrM = array();
foreach ($resultxx_d as $val2) {
array_push($conditionarrM, "keyword like '%{$val2}%'");
array_push($conditionarrM, "treat like '%{$val2}%'");
}
//echo '$conM...';	print_r($conditionarrM); echo '<br><hr>';


if (count($conditionarrM) > 0) {
$conditionM = " where " . implode(" or ", $conditionarrM);
//echo "<br>...conditionM..."; print_r($conditionM); echo "<br><hr>";
}

$resultM = array();
$strsql = "select * from med $conditionM";
echo "SELECT_MED =>...".$strsql."<br><br>";
$datamed = mysql_query($strsql);
$num = mysql_num_rows($datamed);
echo $num.'<br>';

while ($rowmed = mysql_fetch_assoc($datamed)) {
$resultM[] = $rowmed;	
$wordarr = explode(' ', $rowmed['keyword']);
$wordarr2 = explode(' ', $rowmed['treat']);


$mergeArray=array_merge($wordarr, $wordarr2);

$resultxx = array_unique($mergeArray);	
//	echo '<hr>resultxx...'; print_r($resultxx); echo '<br><br>';
$keyword = $inputlist;	



$countkeysearch = array();
foreach ($replace as $valuesearch){
//	echo 'value '; print_r($valuesearch); echo '-----';
$count = 0;
foreach ($resultxx as $value){
//	echo 'value '; print_r($value); echo '</br>';
if (@strpos($value, $valuesearch) !== false){
$count++;
}

}	
$countkeysearch[$valuesearch] = $count;	
//echo "..........Count...".$countkeysearch[$valuesearch]; echo ' '.$valuesearch.'<br>';// จำนวนที่ได้แต่ละค่า	
}

$sum = array_sum($countkeysearch);	

//echo 'รหัสตำรายา...'.$rowmed['medID'].'<br>คำค้น...'.$rowmed['keyword'].'<br>การรักษา...'.$rowmed['treat'].'<br>เนื้อหาตำรายา...'.$rowmed['detail'].' พบทั้งหมด '.$sum.' คำ '; echo '<hr>';
//echo '<br>Count..'; print_r($countkeysearch); echo '<br>';	

$key_med = $rowmed['keyword'];	
$treat_med = $rowmed['treat'];
foreach ($resultxx_d AS $w){
$key_med = str_replace($w, '<b>' . $w . '</b>', $key_med);	
$treat_med = str_replace($w, '<b>' . $w . '</b>', $treat_med);	
}
//	echo 'รหัสตำรายา...'.$rowmed['medID'].'<br>คำค้น...'.$key_med.'<br>การรักษา...'.$treat_med.'<br>เนื้อหาตำรายา...'.$rowmed['detail'].' พบทั้งหมด '.$sum.' คำ '; echo '<hr>';
//	 echo 'รหัสตำรายา...'.$rowmed['medID'].'&nbsp;&nbsp;&nbsp;'.'พบทั้งหมด '.$sum.' คำ '; echo '<hr>';
//	echo $sum;
}//echo '<br>Count..'; print_r($countkeysearch); echo '<br>';	

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>








แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-15 23:04:15 By : dekkuza
 


 

No. 2



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5

ตรงที่ผมใส่ desc ,xxx คือชื่อ column
Code (SQL)
$sql = "SELECT * FROM dictionary $condition order by  xxxx desc";



ประวัติการแก้ไข
2014-02-15 23:08:53
2014-02-15 23:10:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-15 23:07:21 By : dekkuza
 

 

No. 3

Guest


การค้นหาของโค้ดนี้ จะอยู่ใน คำสั่งนี้ ค่ะ $strsql = "select * from med $conditionM";
คือมัน จะไป ค้นหาในฟิลด์ 2 ฟิลด์ค่ะ แล้วตอนนี้ นับผลรวมการค้นหาในแต่ละ ตัวได้แล้ว เก็บไว้ในตัวแปร $sum ค่ะ แต่ว่า ทำการค้นหาจากมาก ไปน้อยไม่เป็น ค่ะพี่ รบกวนด้วยนะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-16 02:36:57 By : stampbnp
 


 

No. 4



โพสกระทู้ ( 464 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5

Code (SQL)
select * from xxtable  order by x1,x2,x2 desc

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-16 22:08:59 By : dekkuza
 


 

No. 5



โพสกระทู้ ( 586 )
บทความ ( 0 )



สถานะออฟไลน์


select * from med $conditionM order by (ฟิวที่ต้องการเรียงจ๊า)

http://www.w3schools.com/php/php_mysql_order_by.asp
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-17 11:59:08 By : nut_ch31
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : พี่ๆค่ะ รบกวนดูโค้ดให้หน่อยนะค่ะ คือตอนนี้ หนูทำการค้นหาข้อมูลจากฐานข้อมูลค่ะ แล้วหนูนับคำที่ค้นเจอด้วยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่