สอบถามเกี่ยวกับเครื่องยิงบาร์โค้ด จากการค้นหา แบบ ใช้ AJAX ครับ (Ajax Search Record)
สอบถามว่า จากโค้ดด้านล่างครับ ผมจะใช้ร่วมกับเครื่องยิงบาร์โค้ดอ่ะครับ หรือคีย์ข้อมูลลงไปเองก็ได้ ครับ ในการค้นหา ตามโค้ด มันคีย์ข้อมูลแล้วกด ปุ่มค้นหา ได้ ครับ แต่สำหรับเครื่องยิงบาร์โค้ด ผมต้องการให้มันยิงแล้วค้นหาให้เองเรย ผมต้องแก้โค้ดส่วนค้นหา Ajax1.php ใช่ไหมครับ ควรแก้โค้ดอย่างไรครับ
SearchAjax1.php
Code (PHP)
<!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>
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax(Search) {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'SearchAjax2.php';
var pmeters = 'mySearch='+Search;
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}
}
}
</script>
<body>
<form id="frmMain" name="frmMain" method="post" action="">
<label for="txtSearch">ค้นหา : </label>
<input type="text" name="txtSearch" id="txtSearch" />
<input type="button" name="btnSearch" id="btnSearch" value="ค้นหา" onclick="javascript:doCallAjax(document.getElementById('txtSearch').value);" />
</form>
<br />
<br />
<span id="mySpan"></span>
</body>
</html>
SearchAjax2.php
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$strSearch = trim($_POST["mySearch"]);
$objConnect = mysql_connect("localhost","root","1234")or die("Error Connect to Database");
$objDB = mysql_select_db("aprdb");
mysql_query("SET NAMES UTF8");
$strSQL = "SELECT * FROM tb_stu_evidence WHERE ID LIKE '%".$strSearch."%' ORDER BY ID ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="1048" border="1">
<tr>
<th width="94"> <div align="center">ID</div></th>
<th width="234"> <div align="center">Name</div></th>
<th width="150"> <div align="center">ClassID</div></th>
<th width="235"> <div align="center">ClassName</div></th>
<th width="219"> <div align="center">Faculty</div></th>
</tr>
<?php
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["ID"];?></div></td>
<td><?=$objResult["name"];?> <?=$objResult["Surname"];?></td>
<td><?=$objResult["ClassID"];?></td>
<td><div align="center"><?=$objResult["ClassName"];?></div></td>
<td><?=$objResult["FacultyName"];?></td>
</tr>
<?php
}
?>
</table>
<?php
mysql_close($objConnect);
?>
Tag : PHP, MySQL, Ajax
ประวัติการแก้ไข 2014-03-03 11:55:05
Date :
2014-03-03 11:50:38
By :
angelkiller9
View :
1333
Reply :
9
Example search โดยการส่งค่า POST และ Pagination ด้วย jquery ลอง Apply ดูครับ
article.php
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<input type="search" id="seArtile" />
<div id="divSearch">
</div>
<script src="bootstrap/js/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function(e) {
Record('',1);
$('#seArtile').keyup(function(){
Record($(this).val(),1);
});
});
function Record(Article,Page){
var divSearch=$('#divSearch').empty();
$.ajax({url:"record_article.php",
async:false,
cache:false,
global:false,
type:"POST",
data:"Article="+Article+
"&Page="+Page,
success: function(result){
divSearch.html(result);
}
});
}
</script>
record_article.php
Code (PHP)
<?php
include("module/php/config.inc.php");
include("module/php/function.inc.php");
$Article=mysql_real_escape_string($_POST['Article']);
$Page=mysql_real_escape_string($_POST['Page']);
$select=select("active_article","WHERE Article LIKE '%".$Article."%'");
$PerPage=2;
$num_rows=numRows($select);
if($Page == ''){
$Page=1;
}
$PageStart=($PerPage*$Page)-$PerPage;
if($num_rows <= $PerPage){
$num_pages=1;
}else if(($num_rows % $PerPage)==0){
$num_pages=$num_rows/$PerPage;
}else{
$num_pages=ceil($num_rows/$PerPage);
}
?>
<table border="0">
<tr>
<td>หัวข้อ</td>
</tr>
<?php
$select=select("active_article","WHERE Article LIKE '%".$Article."%' LIMIT $PageStart,$PerPage");
while($Arti=mysql_fetch_array($select)){
?>
<tr>
<td><?php echo $Arti['Article']?></td>
</tr>
<tr>
<?php
}
?>
<td>
<select id="selPage" onChange="Record($('#seArtile').val(),$(this).val());">
<option value="">0</option>
<?php
for($i=1;$i<=$num_pages;$i++){
if($Page==$i){
$sel="selected";
}else{
$sel="";
}
echo "<option value=\"$i\" $sel>$i</option>";
}
?>
</select>
</td>
</tr>
</table>
config.inc.php
Code (PHP)
<?php
$Host="localhost";
$HostUser="root";
$HostPass=123456;
$DB="active";
$connect=mysql_connect($Host,$HostUser,$HostPass) or die (mysql_error());
if($connect){
mysql_select_db($DB);
mysql_query("SET NAMES UTF8");
}
?>
function.inc.php
Code (PHP)
<?php
function select($Table,$Condition){
$select=mysql_query("SELECT * FROM $Table $Condition") or die (mysql_error());
return $select;
}
function numRows($select){
$numRows=mysql_num_rows($select);
return $numRows;
}
?>
Date :
2014-03-03 11:57:42
By :
Ex-[S]i[L]e[N]t
ถ้าถามเพื่อเอาคำตอบว่าได้ตอบที่ต้องการไหม : Code ที่ Ex-[S]i[L]e[N]t ให้มา ทำแบบคุณว่าไม่ได้หรอกครับ
เค้าให้มาเป็นแนวทาง ต้องลอง!! ทุกอย่างมันต้องมีการประยุกต์
Date :
2014-03-03 13:28:05
By :
apisitp
ได้ละครับ แค่เปลี่ยนปุ่ม button เป็น submit เอา แหะๆ :D
Date :
2014-03-03 13:36:30
By :
angelkiller9
ไม่เอาขอบคุณแต่อยากรู้ว่าทำได้ไหม แก้ด้วยอะไร
Date :
2014-03-03 17:30:20
By :
apisitp
Load balance : Server 05