|
|
|
Autocomplete ข้อความใน database มีเครื่องหมาย ' แล้วกดใน textbox ไม่โชว์ข้อความขึ้น แก้ไขตรงไหนได้บ้างครับ |
|
|
|
|
|
|
|
Autocomplete ข้อความใน database มีเครื่องหมาย ' แล้วกดใน textbox ไม่โชว์ข้อความขึ้น แก้ไขตรงไหนได้บ้างครับ
สคริปที่ให้โชว์
Code (PHP)
<script type="text/javascript">
function make_autocom(autoObj,showObj){
var mkAutoObj=autoObj;
var mkSerValObj=showObj;
new Autocomplete(mkAutoObj, function() {
this.setValue = function(id) {
document.getElementById(mkSerValObj).value = id;
}
if ( this.isModified )
this.setValue("");
if ( this.value.length < 1 && this.isNotClick )
return ;
return "data.php?q=" +encodeURIComponent(this.value);
});
}
// การใช้งาน
// make_autocom(" id ของ input ตัวที่ต้องการกำหนด "," id ของ input ตัวที่ต้องการรับค่า");
make_autocom("show_arti_topic<?php echo $i;?>","h_arti_id<?php echo $i;?>");
</script>
Database
Code (PHP)
<?php
header("Content-type:text/html; charset=UTF-8");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// เชื่อมต่อฐานข้อมูล
$link=mysql_connect("localhost","","") or die("error".mysql_error());
mysql_select_db("",$link);
mysql_query("SET NAMES UTF8");
mysql_query("SET character_set_results=UTF8");
mysql_query("SET character_set_client=UTF8");
mysql_query("SET character_set_connection=UTF8");
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');
mb_language('uni');
mb_regex_encoding('UTF-8');
ob_start('mb_output_handler');
setlocale(LC_ALL, 'th_TH');
$q = urldecode($_GET["q"]);
//$q= iconv('utf-8', 'tis-620', $_GET['test']);
$pagesize = 20; // จำนวนรายการที่ต้องการแสดง
$table_db=" lf_member"; // ตารางที่ต้องการค้นหา
$find_field="namefacebook"; // ฟิลที่ต้องการค้นหา
$sql = "select * from $table_db where locate('$q', $find_field) > 0 order by locate('$q', $find_field), $find_field limit $pagesize";
$results = mysql_query($sql);
while ($row = mysql_fetch_array( $results )) {
$id = $row["namefacebook"]; // ฟิลที่ต้องการส่งค่ากลับ
$name =$row["namefacebook"]; // ฟิลที่ต้องการแสดงค่า
// ป้องกันเครื่องหมาย '
$name = str_replace("'", "'", $name);
// กำหนดตัวหนาให้กับคำที่มีการพิมพ์
$display_name = preg_replace("/(" . $q . ")/i", "<b>$1</b>", $name);
echo "<li onselect=\"this.setText('$name').setValue('$id');\">$display_name</li>";
}
mysql_close();
?>
ผลคือ
กดดูได้
แต่พอเลือก ดันไม่ขึ้นใน Textbox ครับ เป็นเฉพาะ ข้อความที่มีเครื่องหมาย ' เท่านั้นครับ
Tag : PHP, MySQL, JavaScript
|
ประวัติการแก้ไข 2017-05-07 21:58:00
|
|
|
|
|
Date :
2017-05-07 21:56:34 |
By :
phatstype |
View :
1565 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครอบมันด้วย addslashes() ครับ
|
|
|
|
|
Date :
2017-05-08 09:18:53 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูช่อง input หน่อยครับ ใช้ html แบบไหน
ปกติถ้าเป็น autocomplete ของ jquery ไม่เคยมีปัญหา จะออกมาเป็นแบบไหนก็ใช้ได้
|
|
|
|
|
Date :
2017-05-08 10:41:23 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้ตัวเต็มครับ
ตอบความคิดเห็นที่ : 2 เขียนโดย : mr.v เมื่อวันที่ 2017-05-08 10:41:23
รายละเอียดของการตอบ ::
Code (PHP)
<html>
<head>
<title>Accessories Program Lives</title>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<script type="text/javascript" src="autocomplete.js"></script>
<link rel="stylesheet" href="autocomplete.css" type="text/css"/>
</head>
<body>
<p>
<p><img src="image/p1.png" width="180" height="37" /> <a href="product.php"><img src="image/p2.png" width="100" height="41" /></a></p>
<p><img src="image/c1.png" width="180" height="39" /> <a href="listorder.php"><img src="image/c2.png" width="100" height="41" /></a> <a href="listpersonal.php"><img src="image/c3.png" width="100" height="41" /></a></p>
<?php
include 'connect.php';
$RegDate = date ("Y-m-d H:i:s");
//*** Update Condition ***//
if(isset($_GET["Action"]) == "Save")
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$sql = "UPDATE lf_order SET
ocustomer = '".$_POST["txtocustomer$i"]."'
WHERE oid = '".$_POST["hdnoid$i"]."' ";
$query = mysqli_query($conn,$sql);
}
echo "บันทึกรายการเรียบร้อย<br>" ;
echo "<a href='listorder.php'>กลับรายการค้นหาหลัก</a>" ;
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
else{
$sql = "SELECT plot,pid,pprice,ocustomer,oid,oetc FROM lf_order WHERE plot IN ('".$_GET["lot"]."') and pid IN ('".$_GET["pid"]."')";
$query = mysqli_query($conn,$sql);
?>
</p>
<form name="frmMain" method="post" action="order.php?Action=Save">
<table border="1">
<tr>
<th width="91"> <div align="center">ชิ้นที่ </div></th>
<th width="91"> <div align="center">LOT </div></th>
<th width="91"> <div align="center">ลำดับสินค้า </div></th>
<th width="91"> <div align="center">ราคาสินค้า </div></th>
<th width="130"> <div align="center">รายละเอียด </div></th>
<th width="91"> <div align="center">รายชื่อผู้จองได้ </div></th>
</tr>
<?php
$i =0;
while( $result=mysqli_fetch_array($query,MYSQLI_ASSOC)){
{
$i = $i + 1;
?>
<tr>
<td align="center"><?php echo $i;?></td>
<td align="center"><?php echo $result["plot"];?></td>
<td align="center"><?php echo $result["pid"];?></td>
<td align="center"><?php echo $result["pprice"];?></td>
<td align="center"><?php echo $result["oetc"];?></td>
<td><div align="center">
<input type="hidden" name="hdnoid<?php echo $i;?>" size="5" value="<?php echo $result["oid"];?>">
<input type="text" name="txtocustomer<?php echo $i;?>" id="show_arti_topic<?php echo $i;?>" size="50" value="<?php echo $result["ocustomer"];?>"><input name="h_arti_id" type="hidden" id="h_arti_id<?php echo $i;?>" value="" />
</div>
<script type="text/javascript">
function make_autocom(autoObj,showObj){
var mkAutoObj=autoObj;
var mkSerValObj=showObj;
new Autocomplete(mkAutoObj, function() {
this.setValue = function(id) {
document.getElementById(mkSerValObj).value = id;
}
if ( this.isModified )
this.setValue("");
if ( this.value.length < 1 && this.isNotClick )
return ;
return "data.php?q=" +encodeURIComponent(this.value);
});
}
// การใช้งาน
// make_autocom(" id ของ input ตัวที่ต้องการกำหนด "," id ของ input ตัวที่ต้องการรับค่า");
make_autocom("show_arti_topic<?php echo $i;?>","h_arti_id<?php echo $i;?>");
</script>
<?php
}}
?></td>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?php echo $i;?>">
</form>
<?php
mysqli_close($conn);}
?>
</body>
</html>
|
|
|
|
|
Date :
2017-05-08 11:41:01 |
By :
phatstype |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ใช้โค๊ดนี้
เผื่อท่านอื่นๆ มาอ่านจะได้ได้ประโยชน์ไม่ต้องตามหาอีกครับ
Code (PHP)
while ($row = mysql_fetch_array( $results )) {
$id = mysql_real_escape_string($row["namefacebook"]); // ฟิลที่ต้องการส่งค่ากลับ
$name =mysql_real_escape_string($row["namefacebook"]); // ฟิลที่ต้องการแสดงค่า
|
|
|
|
|
Date :
2017-05-08 16:15:14 |
By :
phatstype |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|