ช่วยดูทีครับ คือจะทำการค้นหา หลายคำได้ แต่ตอนนี้สามารถค้นหาได้ฟิวเดียว แต่ผม ต้องการหาหลายฟิว ต้องทำยังไง ต่อ ครับ
เขียนแค่นี้พอครับ ได้ทั้งค้นหลายคำ ได้ทั้งค้นหลายฟิลด์
$result = array_filter($result);
$keyword = implode('|',$result);
$sql = "SELECT * FROM project WHERE CONCAT_WS(' ', name_project, field2, field3) REGEXP '".$keyword."'";
เปลี่ยน field2 และ field3 เป็นชื่อฟิลด์ที่ต้องการจะค้นเพิ่มนะครับ
ปล. ผมยังไม่ได้ลองรันดูนะครับ ยังไงรายงานผลด้วยครับ
Date :
2017-03-11 23:59:20
By :
tomrambo
ได้แล้ว ครับผม
แล้ว ถ้าหากจะ หา 2 ตารางล่ะครับ
โดยการ join ตาราง professor เข้ามาเพื่อค้นหา name,last_name,formerly_one,formerly_two ต้องเขียนยังไงครับ
Date :
2017-03-12 00:41:47
By :
ncs1234
ขอสอบถามอย่างสุดท้ายนะ ครับ จะดึงข้อมูลออกมาโชว์อะครับ
Code (PHP)
<tr>
<td><?php echo $datatemp['name_project'];?></td>
<td><?php echo $datatemp['name_student'];?></td>
<td><?php echo $datatemp['branch_student'];?></td>
<td><?php echo $datatemp['......'];?></td> ชื่อ professor ฟิว name ต้องเขียนยังไงอะครับ
<td><?php echo $datatemp['years'];?></td>
</tr>
Date :
2017-03-12 08:57:09
By :
ncs1234
โอเครๆ ครัล ขอบคุณครับ
Date :
2017-03-12 13:25:14
By :
ncs1234
ได้แร้วครับ ผม ชอบคุณมากๆ ครับ
Date :
2017-03-13 04:37:59
By :
ncs1234
Date :
2017-03-13 10:09:10
By :
mr.win
สอบถามอิกหน่อยได้ป่าวครับ ถ้าเรา จะนับคำเพื่อ เอามาหาเปอร์เซนต้องทำไงหรอครับ เพื่อให้รู้ว่าที่เราพิมไป นั้นตรงกันมากแค่ไหน
Date :
2017-03-13 16:29:54
By :
ncs1234
เปอร์เซ็นต์จากข้อมูลที่ค้นเจอในฐานข้อมูล หรือเปอร์เซ็นต์จากจำนวนคำที่พิมพ์ลงไปแล้วตรงกับฐานข้อมูลครับ
Date :
2017-03-13 19:37:19
By :
tomrambo
เปอร์เซ็นต์จากจำนวนคำที่พิมพ์ลงไปแล้วตรงกับฐานข้อมูลครับ
คล้ายๆ อย่างรูปนี้อะครับ
ประวัติการแก้ไข 2017-03-13 20:53:44
Date :
2017-03-13 20:32:50
By :
ncs1234
ประมาณนี้ครับ
$query = mysqli_query($con,"SELECT * FROM project") or die("DataBase Error!");
$numTotal = mysqli_num_rows($query);
$sql = "SELECT * FROM project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.student_id, a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two) REGEXP '".$keyword."'";
$result = mysqli_query($con,$sql) or die("DataBase Error!");
$numFound = mysqli_num_rows($sql);
$numFound = number_format(($numFound/$numTotal)*100);
echo "หาเจอทั้งหมด ".$numFound."%";
Date :
2017-03-13 21:28:15
By :
tomrambo
อ่อโอเครครับ งั้นโพสต์ด้านบน ผมตอบไม่ตรงประเด็นครับ
แค่ต้องการให้โชว์ไฮไลท์เหมือนในรูปใช่เปล่าครับ
งั้น เดี๋ยวพรุ่งนี้มาตอบครับ คืนนี้ขอตัวนอนก่อนครับ
ประวัติการแก้ไข 2017-03-13 21:33:20
Date :
2017-03-13 21:32:56
By :
tomrambo
โชว์ ไฮไลท์ ได้แล้วครับ แค่ จะเอาคำที่ค้นหา กับที่มีในฐานข้อมูลมาคิดเปอร์เซ็น
Code (PHP)
$numFound = mysqli_num_rows($sql);
บรรทัดนี้ error
Date :
2017-03-13 21:45:31
By :
ncs1234
การหาเปอร์ คือ การที่เอาที่เอาคำค้นหากับคำที่เจอในฐานข้อมูลมาคิด เป็นเปอร์เซนอะครับ
ตามรูปเรยอะครับ ซึ่งมันมีหลายช่อง จะเอามาคิดยังไงดีครับ
Date :
2017-03-14 11:58:51
By :
ncs1234
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ค้นหา <?php echo $_GET['txtKeyword'] ?></title>
<?php include ("connect.php");?>
</head>
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="../src/jquery.jqplot.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.pieRenderer.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.donutRenderer.js"></script>
<link rel="stylesheet" type="text/css" href="../src/jquery.jqplot.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<table width="100%" border="0">
<tr>
<td height="54" colspan="3">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">ย้อนกลับ</a>
</div>
</div>
</nav>
</td>
</tr>
<tr>
<td height="157" colspan="3">
<p align="center"> </p>
<div class="container">
<div class="row">
<div align="center">
<p><img class="visible-lg img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 750KB">
<img class="visible-md img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 355KB">
<img class="visible-sm img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 239KB">
<img class="visible-xs img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 55KB"></p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td width="12%" height="120"></td>
<td width="76%">
<form name="formSearch" action="showdata.php" method="get">
<div class="input-group">
<div class="input-group-btn search-panel">
</div>
<input type="hidden">
<input type="text" class="form-control" placeholder="ป้อนชื่อโครงงาน หรือ ชื่อนักศึกษา หรือ ชื่ออาจารย์ หรือ ปีที่จบ (9999 กรณีนักศึกษาที่ยังไม่จบ)" name="txtKeyword" id="txtKeyword" value="<?php echo $_GET['txtKeyword'] ?>">
<span class="input-group-btn">
<button class="btn btn-info" type="submit">ค้นหา</button>
</span>
</div>
</form>
</td>
<td width="12%"> </td>
</tr>
<tr>
<td height="100" colspan="3">
<?php
$time_start = microtime(true);
$text_to_segment = trim($_GET['txtKeyword']);
//echo '<hr/>';
include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'THSplitLib/segment.php');
$segment = new Segment();
$result = $segment->get_segment_array($text_to_segment);
//echo implode(' | ', $result); //แสดงการตัดคำ
function convert($size) {
$unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb');
return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}
$time_end = microtime(true);
$time = $time_end - $time_start;
/*echo '<br/><b>ประมวลผลใน: </b> '.round($time,4).' วินาที';
echo '<br/><b>รับประทานหน่วยความจำไป:</b> ' . convert(memory_get_usage());
echo '<br/><b>คำที่อาจจะตัดผิด:</b> ';
foreach($result as $row)
{
if (mb_strlen($row) > 12)
{
echo $row.'<br/>';
}
}*/ //แสดงข้อมูลรายละเอียด
?>
<!--จบการตัดคำ-->
<?php
if($result!=""){
$difresult=array("หาก","ไว้","แห่ง","ไป","ได้","โดย","แล้ว","และ","แรก","แบบ","แต่","เอง","เห็น","เลย","เริ่ม","เรา","เมื่อ","เพื่อ","เพราะ","เป็นการ","เป็น","เปิดเผย
","เนื่องจาก","เดียวกัน","เดียว","เช่น","เฉพาะ","เคย","เข้า","เขา","อีก","อาจ","อะไร","ออก","อย่าง","อยู่","อยาก","หลาย","หลังจาก
","หลัง","หรือ","หนึ่ง","ส่วน","ส่ง"," ");//อยากจะลบอะไรเพิ่มอีกก้อเพียงเพิ่ม Member ลงไป
$tempdrop="DELETE FROM temp";//ลบข้อมูลในตาราง temp
mysqli_query($con,$tempdrop);
$result = array_filter($result);
$txtKeyword = implode('|',$result);
$sql = "SELECT * FROM project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$temp="INSERT INTO temp (id,student_temp,project_temp,name_temp,branch_temp,professor_temp,years_temp)
SELECT id,student_id,name_project,name_student,branch_student,professor,years from project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$querytemp=mysqli_query($con,$temp);
$sqltemp="SELECT * FROM temp a LEFT JOIN professor b ON a.professor_temp = b.id_professor order by a.id_temp";
$tmp = mysqli_query($con,$sqltemp);
?>
<div class="container-fluid">
<? echo '<b> คุณค้นหาคำว่า: </b>' . $text_to_segment . '<br/><br/>'; ?>
<div class="row" >
<div class="col-sm-10" style="margin-left: 7%">
<table class="table">
<tr>
<th>ชื่อโครงงาน</th>
<th>ชื่อนักศึกษา</th>
<th>สาขาที่เรียน</th>
<th>อาจารย์ที่ปรึกษา</th>
<th>ปีที่จบ</th>
<th>คำค้นหาที่สอดคล้องกัน</th>
</tr>
<?php while ($datatemp = mysqli_fetch_assoc($tmp)) {
$myproject = $datatemp["project_temp"];
$myname = $datatemp["name_temp"];
$mybranch = $datatemp["branch_temp"];
$myprofessor = $datatemp["name"];
$myyears = $datatemp["years_temp"];
?>
<?php
$keySearch = $result;
$myproject1 = array();
foreach($keySearch as $val){
$myproject1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myname1 = array();
foreach($keySearch as $val){
$myname1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$mybranch1 = array();
foreach($keySearch as $val){
$mybranch1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myprofessor1 = array();
foreach($keySearch as $val){
$myprofessor1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myyears1 = array();
foreach($keySearch as $val){
$myyears1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<tr>
<td><?php echo str_replace(array_keys( $myproject1),$myproject1,$myproject); ?></td>
<td><?php echo str_replace(array_keys( $myname1),$myname1,$myname); ?></td>
<td><?php echo str_replace(array_keys( $mybranch1),$mybranch1,$mybranch); ?></td>
<td><?php echo str_replace(array_keys( $myprofessor1),$myprofessor1,$myprofessor); ?></td>
<td><?php echo str_replace(array_keys( $myyears1),$myyears1,$myyears); ?></td>
<td><?php echo $datatemp['percent'];?></td>
</tr>
</div>
</div>
</div>
</div>
<?php } } ?>
</div>
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
Date :
2017-03-14 19:01:54
By :
ncs1234
function นี้ไว้นอก Loop ครับ
function getNumFound($str){
global $result;
$numFound = 0;
foreach ($result as $val) {
$numFound += (mb_strlen($val,'UTF-8')*substr_count($str,$val));
}
return $numFound;
}
ส่วนโค้ดนี้ไว้ใน Loop ครับ และนำตัวแปร $matching ไป echo ตามตำแหน่งที่ต้องการได้เลย
$string = $datatemp['name_project'];
$string .= " ".$datatemp['name_student'];
$string .= " ".$datatemp['branch_student'];
$string .= " ".$datatemp['name'];
$string .= " ".$datatemp['years'];
$strLength = mb_strlen(str_replace(' ', '', $string),'UTF-8');
$matching = number_format(getNumFound($string)/$strLength)*100)."%";
echo "คำค้นหาสอดคล้องทั้งหมด ".$matching;
ปล. ได้ผลยังไงรายงานด้วยครับ ผมเขียนในโทรศัพท์ครับ
ประวัติการแก้ไข 2017-03-14 20:11:59 2017-03-14 20:36:53
Date :
2017-03-14 20:11:33
By :
tomrambo
ลองดูครับ
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ค้นหา <?php echo $_GET['txtKeyword'] ?></title>
<?php include ("connect.php");?>
</head>
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="../src/jquery.jqplot.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.pieRenderer.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.donutRenderer.js"></script>
<link rel="stylesheet" type="text/css" href="../src/jquery.jqplot.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<table width="100%" border="0">
<tr>
<td height="54" colspan="3">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">ย้อนกลับ</a>
</div>
</div>
</nav>
</td>
</tr>
<tr>
<td height="157" colspan="3">
<p align="center"> </p>
<div class="container">
<div class="row">
<div align="center">
<p><img class="visible-lg img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 750KB">
<img class="visible-md img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 355KB">
<img class="visible-sm img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 239KB">
<img class="visible-xs img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 55KB"></p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td width="12%" height="120"></td>
<td width="76%">
<form name="formSearch" action="showdata.php" method="get">
<div class="input-group">
<div class="input-group-btn search-panel">
</div>
<input type="hidden">
<input type="text" class="form-control" placeholder="ป้อนชื่อโครงงาน หรือ ชื่อนักศึกษา หรือ ชื่ออาจารย์ หรือ ปีที่จบ (9999 กรณีนักศึกษาที่ยังไม่จบ)" name="txtKeyword" id="txtKeyword" value="<?php echo $_GET['txtKeyword'] ?>">
<span class="input-group-btn">
<button class="btn btn-info" type="submit">ค้นหา</button>
</span>
</div>
</form>
</td>
<td width="12%"> </td>
</tr>
<tr>
<td height="100" colspan="3">
<?php
$time_start = microtime(true);
$text_to_segment = trim($_GET['txtKeyword']);
//echo '<hr/>';
include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'THSplitLib/segment.php');
$segment = new Segment();
$result = $segment->get_segment_array($text_to_segment);
//echo implode(' | ', $result); //แสดงการตัดคำ
function convert($size) {
$unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb');
return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}
$time_end = microtime(true);
$time = $time_end - $time_start;
/*echo '<br/><b>ประมวลผลใน: </b> '.round($time,4).' วินาที';
echo '<br/><b>รับประทานหน่วยความจำไป:</b> ' . convert(memory_get_usage());
echo '<br/><b>คำที่อาจจะตัดผิด:</b> ';
foreach($result as $row)
{
if (mb_strlen($row) > 12)
{
echo $row.'<br/>';
}
}*/ //แสดงข้อมูลรายละเอียด
?>
<!--จบการตัดคำ-->
<?php
if($result!=""){
$difresult=array("หาก","ไว้","แห่ง","ไป","ได้","โดย","แล้ว","และ","แรก","แบบ","แต่","เอง","เห็น","เลย","เริ่ม","เรา","เมื่อ","เพื่อ","เพราะ","เป็นการ","เป็น","เปิดเผย
","เนื่องจาก","เดียวกัน","เดียว","เช่น","เฉพาะ","เคย","เข้า","เขา","อีก","อาจ","อะไร","ออก","อย่าง","อยู่","อยาก","หลาย","หลังจาก
","หลัง","หรือ","หนึ่ง","ส่วน","ส่ง"," ");//อยากจะลบอะไรเพิ่มอีกก้อเพียงเพิ่ม Member ลงไป
$tempdrop="DELETE FROM temp";//ลบข้อมูลในตาราง temp
mysqli_query($con,$tempdrop);
$result = array_filter($result);
$txtKeyword = implode('|',$result);
$sql = "SELECT * FROM project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$temp="INSERT INTO temp (id,student_temp,project_temp,name_temp,branch_temp,professor_temp,years_temp)
SELECT id,student_id,name_project,name_student,branch_student,professor,years from project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$querytemp=mysqli_query($con,$temp);
$sqltemp="SELECT * FROM temp a LEFT JOIN professor b ON a.professor_temp = b.id_professor order by a.id_temp";
$tmp = mysqli_query($con,$sqltemp);
?>
<div class="container-fluid">
<? echo '<b> คุณค้นหาคำว่า: </b>' . $text_to_segment . '<br/><br/>'; ?>
<div class="row" >
<div class="col-sm-10" style="margin-left: 7%">
<table class="table">
<tr>
<th>ชื่อโครงงาน</th>
<th>ชื่อนักศึกษา</th>
<th>สาขาที่เรียน</th>
<th>อาจารย์ที่ปรึกษา</th>
<th>ปีที่จบ</th>
<th>คำค้นหาที่สอดคล้องกัน</th>
</tr>
<?php
function getNumFound($str){
global $result;
$numFound = 0;
foreach ($result as $val) {
$numFound += (mb_strlen($val,'UTF-8')*substr_count($str,$val));
}
return $numFound;
}
while ($datatemp = mysqli_fetch_assoc($tmp)) {
$myproject = $datatemp["project_temp"];
$myname = $datatemp["name_temp"];
$mybranch = $datatemp["branch_temp"];
$myprofessor = $datatemp["name"];
$myyears = $datatemp["years_temp"];
$string = $myproject;
$string .= " ".$myname;
$string .= " ".$mybranch;
$string .= " ".$myprofessor;
$string .= " ".$myyears;
$strLength = mb_strlen(str_replace(' ', '', $string),'UTF-8');
$matching = number_format((getNumFound($string)/$strLength)*100)."%";
?>
<?php
$keySearch = $result;
$myproject1 = array();
foreach($keySearch as $val){
$myproject1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myname1 = array();
foreach($keySearch as $val){
$myname1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$mybranch1 = array();
foreach($keySearch as $val){
$mybranch1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myprofessor1 = array();
foreach($keySearch as $val){
$myprofessor1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myyears1 = array();
foreach($keySearch as $val){
$myyears1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<tr>
<td><?php echo str_replace(array_keys( $myproject1),$myproject1,$myproject); ?></td>
<td><?php echo str_replace(array_keys( $myname1),$myname1,$myname); ?></td>
<td><?php echo str_replace(array_keys( $mybranch1),$mybranch1,$mybranch); ?></td>
<td><?php echo str_replace(array_keys( $myprofessor1),$myprofessor1,$myprofessor); ?></td>
<td><?php echo str_replace(array_keys( $myyears1),$myyears1,$myyears); ?></td>
<td><?php echo $matching;?></td>
</tr>
</div>
</div>
</div>
</div>
<?php } } ?>
</div>
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
ประวัติการแก้ไข 2017-03-14 20:56:30
Date :
2017-03-14 20:42:50
By :
tomrambo
เอามาใส่อย่างนี้ถูกรึป่าวครับ
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ค้นหา <?php echo $_GET['txtKeyword'] ?></title>
<?php include ("connect.php");?>
</head>
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="../src/jquery.jqplot.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.pieRenderer.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.donutRenderer.js"></script>
<link rel="stylesheet" type="text/css" href="../src/jquery.jqplot.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<table width="100%" border="0">
<tr>
<td height="54" colspan="3">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">ย้อนกลับ</a>
</div>
</div>
</nav>
</td>
</tr>
<tr>
<td height="157" colspan="3">
<p align="center"> </p>
<div class="container">
<div class="row">
<div align="center">
<p><img class="visible-lg img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 750KB">
<img class="visible-md img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 355KB">
<img class="visible-sm img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 239KB">
<img class="visible-xs img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 55KB"></p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td width="12%" height="120"></td>
<td width="76%">
<form name="formSearch" action="showdata.php" method="get">
<div class="input-group">
<div class="input-group-btn search-panel">
</div>
<input type="hidden">
<input type="text" class="form-control" placeholder="ป้อนชื่อโครงงาน หรือ ชื่อนักศึกษา หรือ ชื่ออาจารย์ หรือ ปีที่จบ (9999 กรณีนักศึกษาที่ยังไม่จบ)" name="txtKeyword" id="txtKeyword" value="<?php echo $_GET['txtKeyword'] ?>">
<span class="input-group-btn">
<button class="btn btn-info" type="submit">ค้นหา</button>
</span>
</div>
</form>
</td>
<td width="12%"> </td>
</tr>
<tr>
<td height="100" colspan="3">
<?php
$time_start = microtime(true);
$text_to_segment = trim($_GET['txtKeyword']);
//echo '<hr/>';
include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'THSplitLib/segment.php');
$segment = new Segment();
$result = $segment->get_segment_array($text_to_segment);
//echo implode(' | ', $result); //แสดงการตัดคำ
function convert($size) {
$unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb');
return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}
$time_end = microtime(true);
$time = $time_end - $time_start;
/*echo '<br/><b>ประมวลผลใน: </b> '.round($time,4).' วินาที';
echo '<br/><b>รับประทานหน่วยความจำไป:</b> ' . convert(memory_get_usage());
echo '<br/><b>คำที่อาจจะตัดผิด:</b> ';
foreach($result as $row)
{
if (mb_strlen($row) > 12)
{
echo $row.'<br/>';
}
}*/ //แสดงข้อมูลรายละเอียด
?>
<!--จบการตัดคำ-->
<?php
if($result!=""){
$difresult=array("หาก","ไว้","แห่ง","ไป","ได้","โดย","แล้ว","และ","แรก","แบบ","แต่","เอง","เห็น","เลย","เริ่ม","เรา","เมื่อ","เพื่อ","เพราะ","เป็นการ","เป็น","เปิดเผย
","เนื่องจาก","เดียวกัน","เดียว","เช่น","เฉพาะ","เคย","เข้า","เขา","อีก","อาจ","อะไร","ออก","อย่าง","อยู่","อยาก","หลาย","หลังจาก
","หลัง","หรือ","หนึ่ง","ส่วน","ส่ง"," ");//อยากจะลบอะไรเพิ่มอีกก้อเพียงเพิ่ม Member ลงไป
$tempdrop="DELETE FROM temp";//ลบข้อมูลในตาราง temp
mysqli_query($con,$tempdrop);
$result = array_filter($result);
$txtKeyword = implode('|',$result);
$sql = "SELECT * FROM project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$temp="INSERT INTO temp (id,student_temp,project_temp,name_temp,branch_temp,professor_temp,years_temp)
SELECT id,student_id,name_project,name_student,branch_student,professor,years from project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$querytemp=mysqli_query($con,$temp);
$sqltemp="SELECT * FROM temp a LEFT JOIN professor b ON a.professor_temp = b.id_professor order by a.id_temp";
$tmp = mysqli_query($con,$sqltemp);
?>
<div class="container-fluid">
<? echo '<b> คุณค้นหาคำว่า: </b>' . $text_to_segment . '<br/><br/>'; ?>
<div class="row" >
<div class="col-sm-10" style="margin-left: 7%">
<table class="table">
<tr>
<th>ชื่อโครงงาน</th>
<th>ชื่อนักศึกษา</th>
<th>สาขาที่เรียน</th>
<th>อาจารย์ที่ปรึกษา</th>
<th>ปีที่จบ</th>
<th>คำค้นหาที่สอดคล้องกัน</th>
</tr>
<?php while ($datatemp = mysqli_fetch_assoc($tmp)) {
$string .= " ".$datatemp['name_project'];
$string .= " ".$datatemp['name_student'];
$string .= " ".$datatemp['branch_student'];
$string .= " ".$datatemp['name'];
$string .= " ".$datatemp['years'];
$strLength = mb_strlen(str_replace(' ', '', $string),'UTF-8');
$matching = number_format(getNumFound($string)/$strLength)*100)"%";
echo "คำค้นหาสอดคล้องทั้งหมด ".$matching;
?>
<?php
$keySearch = $result;
$myproject1 = array();
foreach($keySearch as $val){
$myproject1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myname1 = array();
foreach($keySearch as $val){
$myname1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$mybranch1 = array();
foreach($keySearch as $val){
$mybranch1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myprofessor1 = array();
foreach($keySearch as $val){
$myprofessor1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myyears1 = array();
foreach($keySearch as $val){
$myyears1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<tr>
<td><?php echo str_replace(array_keys( $myproject1),$myproject1,$myproject); ?></td>
<td><?php echo str_replace(array_keys( $myname1),$myname1,$myname); ?></td>
<td><?php echo str_replace(array_keys( $mybranch1),$mybranch1,$mybranch); ?></td>
<td><?php echo str_replace(array_keys( $myprofessor1),$myprofessor1,$myprofessor); ?></td>
<td><?php echo str_replace(array_keys( $myyears1),$myyears1,$myyears); ?></td>
<td><?php echo $datatemp['percent'];?></td>
</tr>
</div>
</div>
</div>
</div>
<?php } } ?>
</div>
</div>
</div>
</td>
</tr>
</table>
<?php
function getNumFound($str){
global $result;
$numFound = 0;
foreach ($result as $val) {
$numFound += (mb_strlen($val,'UTF-8')*substr_count($str,$val));
}
return $numFound;
}
?>
</body>
</html>
Date :
2017-03-14 20:48:31
By :
ncs1234
ได้แร้วครับ แต่ผมอยากเอาค่าเปอร์เซนไปใส่อิกตารางต้องทำไงครับ
Date :
2017-03-15 00:43:34
By :
ncs1234
ใส่ตารางไหนครับ ก็ insert ปกตินี่แหละครับ
Date :
2017-03-15 10:10:13
By :
tomrambo
ถ้าเรียงลำดับ เปอร์เซนอะครับ ให้ตัวที่มากที่สุด อยู่บนควรทำไงต่อครับ
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ค้นหา <?php echo $_GET['txtKeyword'] ?></title>
<?php include ("connect.php");?>
</head>
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="../src/jquery.jqplot.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.pieRenderer.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.donutRenderer.js"></script>
<link rel="stylesheet" type="text/css" href="../src/jquery.jqplot.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<table width="100%" border="0">
<tr>
<td height="54" colspan="3">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">ย้อนกลับ</a>
</div>
</div>
</nav>
</td>
</tr>
<tr>
<td height="157" colspan="3">
<p align="center"> </p>
<div class="container">
<div class="row">
<div align="center">
<p><img class="visible-lg img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 750KB">
<img class="visible-md img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 355KB">
<img class="visible-sm img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 239KB">
<img class="visible-xs img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 55KB"></p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td width="12%" height="120"></td>
<td width="76%">
<form name="formSearch" action="showdata.php" method="get">
<div class="input-group">
<div class="input-group-btn search-panel">
</div>
<input type="hidden">
<input type="text" class="form-control" placeholder="ป้อนชื่อโครงงาน หรือ ชื่อนักศึกษา หรือ ชื่ออาจารย์ หรือ ปีที่จบ (9999 กรณีนักศึกษาที่ยังไม่จบ)" name="txtKeyword" id="txtKeyword" value="<?php echo $_GET['txtKeyword'] ?>">
<span class="input-group-btn">
<button class="btn btn-info" type="submit">ค้นหา</button>
</span>
</div>
</form>
</td>
<td width="12%"> </td>
</tr>
<tr>
<td height="100" colspan="3">
<?php
$time_start = microtime(true);
$text_to_segment = trim($_GET['txtKeyword']);
//echo '<hr/>';
include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'THSplitLib/segment.php');
$segment = new Segment();
$result = $segment->get_segment_array($text_to_segment);
//echo implode(' | ', $result); //แสดงการตัดคำ
function convert($size) {
$unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb');
return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}
$time_end = microtime(true);
$time = $time_end - $time_start;
/*echo '<br/><b>ประมวลผลใน: </b> '.round($time,4).' วินาที';
echo '<br/><b>รับประทานหน่วยความจำไป:</b> ' . convert(memory_get_usage());
echo '<br/><b>คำที่อาจจะตัดผิด:</b> ';
foreach($result as $row)
{
if (mb_strlen($row) > 12)
{
echo $row.'<br/>';
}
}*/ //แสดงข้อมูลรายละเอียด
?>
<!--จบการตัดคำ-->
<?php
if($result!=""){
$difresult=array("หาก","ไว้","แห่ง","ไป","ได้","โดย","แล้ว","และ","แรก","แบบ","แต่","เอง","เห็น","เลย","เริ่ม","เรา","เมื่อ","เพื่อ","เพราะ","เป็นการ","เป็น","เปิดเผย
","เนื่องจาก","เดียวกัน","เดียว","เช่น","เฉพาะ","เคย","เข้า","เขา","อีก","อาจ","อะไร","ออก","อย่าง","อยู่","อยาก","หลาย","หลังจาก
","หลัง","หรือ","หนึ่ง","ส่วน","ส่ง"," ");//อยากจะลบอะไรเพิ่มอีกก้อเพียงเพิ่ม Member ลงไป
$tempdrop="DELETE FROM temp";//ลบข้อมูลในตาราง temp
mysqli_query($con,$tempdrop);
$result = array_filter($result);
$txtKeyword = implode('|',$result);
$sql = "SELECT * FROM project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$tmp = mysqli_query($con,$sql);
?>
<div class="container-fluid">
<? echo '<b> คุณค้นหาคำว่า: </b>' . $text_to_segment . '<br/><br/>'; ?>
<div class="row" >
<div class="col-sm-10" style="margin-left: 7%">
<table class="table">
<tr>
<th>ชื่อโครงงาน</th>
<th>ชื่อนักศึกษา</th>
<th>สาขาที่เรียน</th>
<th>อาจารย์ที่ปรึกษา</th>
<th>ปีที่จบ</th>
<th>คำค้นหาที่สอดคล้องกัน</th>
</tr>
<?php
function getNumFound($str){
global $result;
$numFound = 0;
foreach ($result as $val) {
$numFound += (mb_strlen($val,'UTF-8')*substr_count($str,$val));
}
return $numFound;
}
while ($datatemp = mysqli_fetch_assoc($tmp)) {
$myproject = $datatemp["name_project"];
$myname = $datatemp["name_student"];
$mybranch = $datatemp["branch_student"];
$myprofessor = $datatemp["name"];
$myyears = $datatemp["years"];
$string = $myproject;
$string .= " ".$myname;
$string .= " ".$mybranch;
$string .= " ".$myprofessor;
$string .= " ".$myyears;
$strLength = mb_strlen(str_replace(' ', '', $string),'UTF-8');
$matching = number_format((getNumFound($string)/$strLength)*100);
$sum = round($matching,2)."%"; //ทำให้เหลือ2ตำแหน่ง
?>
<?php
$keySearch = $result;
$myproject1 = array();
foreach($keySearch as $val){
$myproject1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myname1 = array();
foreach($keySearch as $val){
$myname1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$mybranch1 = array();
foreach($keySearch as $val){
$mybranch1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myprofessor1 = array();
foreach($keySearch as $val){
$myprofessor1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<?php
$keySearch = $result;
$myyears1 = array();
foreach($keySearch as $val){
$myyears1[$val] = '<font color=red>'.$val.'</font>';
}
?>
<tr>
<td><?php echo str_replace(array_keys( $myproject1),$myproject1,$myproject); ?></td>
<td><?php echo str_replace(array_keys( $myname1),$myname1,$myname); ?></td>
<td><?php echo str_replace(array_keys( $mybranch1),$mybranch1,$mybranch); ?></td>
<td><?php echo str_replace(array_keys( $myprofessor1),$myprofessor1,$myprofessor); ?></td>
<td><?php echo str_replace(array_keys( $myyears1),$myyears1,$myyears); ?></td>
<td><?php echo $sum;?></td>
</tr>
</div>
</div>
</div>
</div>
<?php } } ?>
</div>
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
Date :
2017-03-16 16:53:17
By :
ncs1234
ลองดูครับ
<?php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ค้นหา <?php echo $_GET['txtKeyword'] ?></title>
<?php include ("connect.php");?>
</head>
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="../src/jquery.jqplot.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.pieRenderer.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.donutRenderer.js"></script>
<link rel="stylesheet" type="text/css" href="../src/jquery.jqplot.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<table width="100%" border="0">
<tr>
<td height="54" colspan="3">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">ย้อนกลับ</a>
</div>
</div>
</nav>
</td>
</tr>
<tr>
<td height="157" colspan="3">
<p align="center"> </p>
<div class="container">
<div class="row">
<div align="center">
<p><img class="visible-lg img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 750KB">
<img class="visible-md img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 355KB">
<img class="visible-sm img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 239KB">
<img class="visible-xs img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 55KB"></p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td width="12%" height="120"></td>
<td width="76%">
<form name="formSearch" action="showdata.php" method="get">
<div class="input-group">
<div class="input-group-btn search-panel">
</div>
<input type="hidden">
<input type="text" class="form-control" placeholder="ป้อนชื่อโครงงาน หรือ ชื่อนักศึกษา หรือ ชื่ออาจารย์ หรือ ปีที่จบ (9999 กรณีนักศึกษาที่ยังไม่จบ)" name="txtKeyword" id="txtKeyword" value="<?php echo $_GET['txtKeyword'] ?>">
<span class="input-group-btn">
<button class="btn btn-info" type="submit">ค้นหา</button>
</span>
</div>
</form>
</td>
<td width="12%"> </td>
</tr>
<tr>
<td height="100" colspan="3">
<?php
$time_start = microtime(true);
$text_to_segment = trim($_GET['txtKeyword']);
//echo '<hr/>';
include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'THSplitLib/segment.php');
$segment = new Segment();
$result = $segment->get_segment_array($text_to_segment);
//echo implode(' | ', $result); //แสดงการตัดคำ
function convert($size) {
$unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb');
return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}
$time_end = microtime(true);
$time = $time_end - $time_start;
/*echo '<br/><b>ประมวลผลใน: </b> '.round($time,4).' วินาที';
echo '<br/><b>รับประทานหน่วยความจำไป:</b> ' . convert(memory_get_usage());
echo '<br/><b>คำที่อาจจะตัดผิด:</b> ';
foreach($result as $row)
{
if (mb_strlen($row) > 12)
{
echo $row.'<br/>';
}
}*/ //แสดงข้อมูลรายละเอียด
?>
<!--จบการตัดคำ-->
<?php
if($result!=""){
$difresult=array("หาก","ไว้","แห่ง","ไป","ได้","โดย","แล้ว","และ","แรก","แบบ","แต่","เอง","เห็น","เลย","เริ่ม","เรา","เมื่อ","เพื่อ","เพราะ","เป็นการ","เป็น","เปิดเผย
","เนื่องจาก","เดียวกัน","เดียว","เช่น","เฉพาะ","เคย","เข้า","เขา","อีก","อาจ","อะไร","ออก","อย่าง","อยู่","อยาก","หลาย","หลังจาก
","หลัง","หรือ","หนึ่ง","ส่วน","ส่ง"," ");//อยากจะลบอะไรเพิ่มอีกก้อเพียงเพิ่ม Member ลงไป
$tempdrop="DELETE FROM temp";//ลบข้อมูลในตาราง temp
mysqli_query($con,$tempdrop);
$result = array_filter($result);
$txtKeyword = implode('|',$result);
$sql = "SELECT * FROM project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$tmp = mysqli_query($con,$sql);
?>
<div class="container-fluid">
<? echo '<b> คุณค้นหาคำว่า: </b>' . $text_to_segment . '<br/><br/>'; ?>
<div class="row" >
<div class="col-sm-10" style="margin-left: 7%">
<table class="table">
<tr>
<th>ชื่อโครงงาน</th>
<th>ชื่อนักศึกษา</th>
<th>สาขาที่เรียน</th>
<th>อาจารย์ที่ปรึกษา</th>
<th>ปีที่จบ</th>
<th>คำค้นหาที่สอดคล้องกัน</th>
</tr>
<?php
function getNumFound($str){
global $result;
$numFound = 0;
foreach ($result as $val) {
$numFound += (mb_strlen($val,'UTF-8')*substr_count($str,$val));
}
return $numFound;
}
function sortMatching($x, $y) {
return ($x['matching'] < $y['matching']);
}
$keyRS = 0;
while ($datatemp = mysqli_fetch_assoc($tmp)) {
$string = $datatemp["name_project"];
$string .= " ".$datatemp["name_student"];
$string .= " ".$datatemp["branch_student"];
$string .= " ".$datatemp["name"];
$string .= " ".$datatemp["years"];
$strLength = mb_strlen(str_replace(' ', '', $string),'UTF-8');
$matching = number_format((getNumFound($string)/$strLength)*100);
$myResult[$keyRS]["name_project"] = $datatemp["name_project"];
$myResult[$keyRS]["name_student"] = $datatemp["name_student"];
$myResult[$keyRS]["branch_student"] = $datatemp["branch_student"];
$myResult[$keyRS]["name"] = $datatemp["name"];
$myResult[$keyRS]["years"] = $datatemp["years"];
$myResult[$keyRS]["matching"] = $matching;
$keyRS++;
} // end while loop
usort ($myResult, 'sortMatching');
$num_myResult = count($myResult);
for($i=0;$i<$num_myResult;$i++){
$keySearch = $result;
$highLight = array();
foreach($keySearch as $val){
$highLight[$val] = '<font color=red>'.$val.'</font>';
}
?>
<tr>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name_project']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name_student']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['branch_student']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['years']); ?></td>
<td><?php echo round($myResult[$i]['matching'],2)."%";?></td>
</tr>
</div>
</div>
</div>
</div>
<?php
} //end for loop
}
?>
</div>
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
ประวัติการแก้ไข 2017-03-17 00:17:48
Date :
2017-03-16 23:09:14
By :
tomrambo
ทำไมมันเป็นแบบนี้หรอครับ
Date :
2017-03-16 23:31:41
By :
ncs1234
อ่อโอเคครับ ผมแก้ไขโพสต์ด้่านบนให้แล้วครับ ลองอีกทีครับ
ถ้าได้แล้วแคปหน้าจอมาดูผลงานหน่อยครับ
ประวัติการแก้ไข 2017-03-17 00:19:58
Date :
2017-03-17 00:18:46
By :
tomrambo
ได้เเร้วครับ ขอบคุณครับ
Date :
2017-03-17 12:39:18
By :
ncs1234
มาตอบให้แล้วนะครับ จากที่ถามเพิ่มเติมมาใน PM
<?php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ค้นหา <?php echo $_GET['txtKeyword'] ?></title>
<?php include ("connect.php");?>
</head>
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="../src/jquery.jqplot.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.pieRenderer.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.donutRenderer.js"></script>
<link rel="stylesheet" type="text/css" href="../src/jquery.jqplot.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<table width="100%" border="0">
<tr>
<td height="54" colspan="3">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">ย้อนกลับ</a>
</div>
</div>
</nav>
</td>
</tr>
<tr>
<td height="157" colspan="3">
<p align="center"> </p>
<div class="container">
<div class="row">
<div align="center">
<p><img class="visible-lg img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 750KB">
<img class="visible-md img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 355KB">
<img class="visible-sm img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 239KB">
<img class="visible-xs img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 55KB"></p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td width="12%" height="120"></td>
<td width="76%">
<form name="formSearch" action="showdata.php" method="get">
<div class="input-group">
<div class="input-group-btn search-panel">
</div>
<input type="hidden">
<input type="text" class="form-control" placeholder="ป้อนชื่อโครงงาน หรือ ชื่อนักศึกษา หรือ ชื่ออาจารย์ หรือ ปีที่จบ (9999 กรณีนักศึกษาที่ยังไม่จบ)" name="txtKeyword" id="txtKeyword" value="<?php echo $_GET['txtKeyword'] ?>">
<span class="input-group-btn">
<button class="btn btn-info" type="submit">ค้นหา</button>
</span>
</div>
</form>
</td>
<td width="12%"> </td>
</tr>
<tr>
<td height="100" colspan="3">
<?php
$time_start = microtime(true);
$text_to_segment = trim($_GET['txtKeyword']);
//echo '<hr/>';
include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'THSplitLib/segment.php');
$segment = new Segment();
$result = $segment->get_segment_array($text_to_segment);
//echo implode(' | ', $result); //แสดงการตัดคำ
function convert($size) {
$unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb');
return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}
$time_end = microtime(true);
$time = $time_end - $time_start;
/*echo '<br/><b>ประมวลผลใน: </b> '.round($time,4).' วินาที';
echo '<br/><b>รับประทานหน่วยความจำไป:</b> ' . convert(memory_get_usage());
echo '<br/><b>คำที่อาจจะตัดผิด:</b> ';
foreach($result as $row)
{
if (mb_strlen($row) > 12)
{
echo $row.'<br/>';
}
}*/ //แสดงข้อมูลรายละเอียด
?>
<!--จบการตัดคำ-->
<?php
if($result!=""){
$difresult=array("หาก","ไว้","แห่ง","ไป","ได้","โดย","แล้ว","และ","แรก","แบบ","แต่","เอง","เห็น","เลย","เริ่ม","เรา","เมื่อ","เพื่อ","เพราะ","เป็นการ","เป็น","เปิดเผย
","เนื่องจาก","เดียวกัน","เดียว","เช่น","เฉพาะ","เคย","เข้า","เขา","อีก","อาจ","อะไร","ออก","อย่าง","อยู่","อยาก","หลาย","หลังจาก
","หลัง","หรือ","หนึ่ง","ส่วน","ส่ง"," ");//อยากจะลบอะไรเพิ่มอีกก้อเพียงเพิ่ม Member ลงไป
$tempdrop="DELETE FROM temp";//ลบข้อมูลในตาราง temp
mysqli_query($con,$tempdrop);
$result = array_filter($result);
$txtKeyword = implode('|',$result);
$sql = "SELECT * FROM project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$tmp = mysqli_query($con,$sql);
?>
<div class="container-fluid">
<? echo '<b> คุณค้นหาคำว่า: </b>' . $text_to_segment . '<br/><br/>'; ?>
<div class="row" >
<div class="col-sm-10" style="margin-left: 7%">
<table class="table">
<tr>
<th>ชื่อโครงงาน</th>
<th>ชื่อนักศึกษา</th>
<th>สาขาที่เรียน</th>
<th>อาจารย์ที่ปรึกษา</th>
<th>ปีที่จบ</th>
<th>คำค้นหาที่สอดคล้องกัน</th>
</tr>
<?php
function getNumFound($str){
global $result;
$numFound = 0;
foreach ($result as $val) {
if(strpos($str,$val)===true){
$numFound++;
}
}
return $numFound;
}
function sortMatching($x, $y) {
return ($x['matching'] < $y['matching']);
}
$keyRS = 0;
while ($datatemp = mysqli_fetch_assoc($tmp)) {
$string = implode(' ',array($datatemp["name_project"],$datatemp["name_student"],$datatemp["branch_student"],$datatemp["name"],$datatemp["years"]));
$matching = number_format((getNumFound($string)/count($result))*100);
$myResult[$keyRS] = $datatemp:
$myResult[$keyRS]["matching"] = $matching;
$keyRS++;
} // end while loop
usort ($myResult, 'sortMatching');
$num_myResult = count($myResult);
for($i=0;$i<$num_myResult;$i++){
$keySearch = $result;
$highLight = array();
foreach($keySearch as $val){
$highLight[$val] = '<font color=red>'.$val.'</font>';
}
?>
<tr>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name_project']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name_student']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['branch_student']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['years']); ?></td>
<td><?php echo round($myResult[$i]['matching'],2)."%";?></td>
</tr>
</div>
</div>
</div>
</div>
<?php
} //end for loop
}
?>
</div>
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
Date :
2017-03-25 00:17:19
By :
tomrambo
เปอร์เซนไม่ขึ้นอะครับ
ประวัติการแก้ไข 2017-03-25 01:31:31
Date :
2017-03-25 01:29:41
By :
ncs1234
<?php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ค้นหา <?php echo $_GET['txtKeyword'] ?></title>
<?php include ("connect.php");?>
</head>
<body>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="../src/jquery.jqplot.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.pieRenderer.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.donutRenderer.js"></script>
<link rel="stylesheet" type="text/css" href="../src/jquery.jqplot.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<table width="100%" border="0">
<tr>
<td height="54" colspan="3">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">ย้อนกลับ</a>
</div>
</div>
</nav>
</td>
</tr>
<tr>
<td height="157" colspan="3">
<p align="center"> </p>
<div class="container">
<div class="row">
<div align="center">
<p><img class="visible-lg img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 750KB">
<img class="visible-md img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 355KB">
<img class="visible-sm img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 239KB">
<img class="visible-xs img-responsive" src="picture/responsive2.jpg" alt="" title="File size= 55KB"></p>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td width="12%" height="120"></td>
<td width="76%">
<form name="formSearch" action="showdata.php" method="get">
<div class="input-group">
<div class="input-group-btn search-panel">
</div>
<input type="hidden">
<input type="text" class="form-control" placeholder="ป้อนชื่อโครงงาน หรือ ชื่อนักศึกษา หรือ ชื่ออาจารย์ หรือ ปีที่จบ (9999 กรณีนักศึกษาที่ยังไม่จบ)" name="txtKeyword" id="txtKeyword" value="<?php echo $_GET['txtKeyword'] ?>">
<span class="input-group-btn">
<button class="btn btn-info" type="submit">ค้นหา</button>
</span>
</div>
</form>
</td>
<td width="12%"> </td>
</tr>
<tr>
<td height="100" colspan="3">
<?php
$time_start = microtime(true);
$text_to_segment = trim($_GET['txtKeyword']);
//echo '<hr/>';
include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'THSplitLib/segment.php');
$segment = new Segment();
$result = $segment->get_segment_array($text_to_segment);
//echo implode(' | ', $result); //แสดงการตัดคำ
function convert($size) {
$unit = array('b', 'kb', 'mb', 'gb', 'tb', 'pb');
return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}
$time_end = microtime(true);
$time = $time_end - $time_start;
/*echo '<br/><b>ประมวลผลใน: </b> '.round($time,4).' วินาที';
echo '<br/><b>รับประทานหน่วยความจำไป:</b> ' . convert(memory_get_usage());
echo '<br/><b>คำที่อาจจะตัดผิด:</b> ';
foreach($result as $row)
{
if (mb_strlen($row) > 12)
{
echo $row.'<br/>';
}
}*/ //แสดงข้อมูลรายละเอียด
?>
<!--จบการตัดคำ-->
<?php
if($result!=""){
$difresult=array("หาก","ไว้","แห่ง","ไป","ได้","โดย","แล้ว","และ","แรก","แบบ","แต่","เอง","เห็น","เลย","เริ่ม","เรา","เมื่อ","เพื่อ","เพราะ","เป็นการ","เป็น","เปิดเผย
","เนื่องจาก","เดียวกัน","เดียว","เช่น","เฉพาะ","เคย","เข้า","เขา","อีก","อาจ","อะไร","ออก","อย่าง","อยู่","อยาก","หลาย","หลังจาก
","หลัง","หรือ","หนึ่ง","ส่วน","ส่ง"," ");//อยากจะลบอะไรเพิ่มอีกก้อเพียงเพิ่ม Member ลงไป
$tempdrop="DELETE FROM temp";//ลบข้อมูลในตาราง temp
mysqli_query($con,$tempdrop);
$result = array_filter($result);
$txtKeyword = implode('|',$result);
$sql = "SELECT * FROM project a LEFT JOIN professor b ON a.professor = b.id_professor WHERE CONCAT_WS(' ', a.name_project, a.name_student, a.branch_student, b.name, b.last_name, b.formerly_one, b.formerly_two,a.years) REGEXP '".$txtKeyword."'";
$tmp = mysqli_query($con,$sql);
?>
<div class="container-fluid">
<? echo '<b> คุณค้นหาคำว่า: </b>' . $text_to_segment . '<br/><br/>'; ?>
<div class="row" >
<div class="col-sm-10" style="margin-left: 7%">
<table class="table">
<tr>
<th>ชื่อโครงงาน</th>
<th>ชื่อนักศึกษา</th>
<th>สาขาที่เรียน</th>
<th>อาจารย์ที่ปรึกษา</th>
<th>ปีที่จบ</th>
<th>คำค้นหาที่สอดคล้องกัน</th>
</tr>
<?php
function getNumFound($str){
global $result;
$numFound = 0;
foreach ($result as $val) {
if(substr_count($str,$val)){
$numFound++;
}
}
return $numFound;
}
function sortMatching($x, $y) {
return ($x['matching'] < $y['matching']);
}
$keyRS = 0;
while ($datatemp = mysqli_fetch_assoc($tmp)) {
$string = implode(' ',array($datatemp["name_project"],$datatemp["name_student"],$datatemp["branch_student"],$datatemp["name"],$datatemp["years"]));
$matching = number_format((getNumFound($string)/count($result))*100);
$myResult[$keyRS] = $datatemp:
$myResult[$keyRS]["matching"] = $matching;
$keyRS++;
} // end while loop
usort ($myResult, 'sortMatching');
$num_myResult = count($myResult);
for($i=0;$i<$num_myResult;$i++){
$keySearch = $result;
$highLight = array();
foreach($keySearch as $val){
$highLight[$val] = '<font color=red>'.$val.'</font>';
}
?>
<tr>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name_project']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name_student']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['branch_student']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['name']); ?></td>
<td><?php echo str_replace(array_keys($highLight),$highLight,$myResult[$i]['years']); ?></td>
<td><?php echo round($myResult[$i]['matching'],2)."%";?></td>
</tr>
</div>
</div>
</div>
</div>
<?php
} //end for loop
}
?>
</div>
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
Date :
2017-03-25 02:09:21
By :
tomrambo
Load balance : Server 03