输入中的回声值,一旦键入值
Echo Value in Input, Once Value is Typed
我正在努力让这个实时搜索正常工作。
我设想它的工作方式是,用户访问表单,输入类似94302
的值,然后输出一个带有"Santa Clara"的框,例如,value=""
等于数据库字段fanDetLocID
的值。
表单的HTML
<form method="post" id="FanDetail">
<input id="zip" name="zipcode" value="US Zipcode" onFocus="clearText(this)" />
</form>
<div class="success" style="display: none;">Saved!</div>
页面加载时调用的jQuery:
$(document).ready(function(){
$("#zip").keyup(function() {
// do magic
$.ajax({
type: "POST",
url: "../php/getFanLoc.php",
data: "zip="+ zip,
success: function(){
$('#zip').function(){$('div.success').fadeIn();};
}
});
return false;
});
});
php文件:getFanLoc.php,当输入5位邮政编码时,jquery通过方法.keyup()
调用该文件
<?php
/////////////////////////////////////
require_once('../cfg/dbi.php'); /////
/////////////////////////////////////
############### SANITIZE ############### //////////////
///////////////////////////////////////////////////////
$zip = htmlspecialchars(trim($_POST['zipcode'])); ///
$zip = mysql_real_escape_string($_POST['zipcode']); ///
///////////////////////////////////////////////////////
try{
$dbh = new PDO("mysql:host=$host;dbname=$dbname",$user,$pass);
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
## INSERT CLEAN DATA INTO TABLE…
$sth = $dbh->prepare(
'SELECT fanDetLocID, fanDetLocCity, fanDetLocState FROM fanDetailLocation WHERE fanDetLocZip = ?');
$sth->bindParam(1, $zip);
$sth->execute();
if ($res = $sth->fetch(PDO::FETCH_ASSOC)) {
printf('%s, %s',
htmlspecialchars($res['fanDetLocCity'], ENT_QUOTES, 'UTF-8'),
htmlspecialchars($res['fanDetLocState'], ENT_QUOTES, 'UTF-8')
);
}
}
catch(PDOException $e){
file_put_contents('../../PDODBConnectionErrors.txt', $e->getMessage(), FILE_APPEND);
}
?>
当前问题:我输入了一个5位数的邮政编码,但没有显示任何内容,我需要帮助在输入5位数邮政编码时显示此值。
我已经检查了SQL查询,它运行良好。它应该在输入框中输出fanDetLocCity, fanDetLocCity
的值,例如加利福尼亚州的Santa Barbara。
好的,您的主要问题是尝试echo
和PDOStatement
。您需要至少执行一次提取操作,并从结果集中检索值。
其次,您应该真正使用绑定参数,而不是将值注入SQL字符串。
第三,我认为让数据库执行琐碎的字符串连接毫无意义。试试这个
$sth = $dbh->prepare(
'SELECT fanDetLocID, fanDetLocCity, fanDetLocState FROM fanDetailLocation WHERE fanDetLocZip = ?');
$sth->bindParam(1, $zip);
$sth->execute();
if ($res = $sth->fetch(PDO::FETCH_ASSOC)) {
printf('%s, %s',
htmlspecialchars($res['fanDetLocCity'], ENT_QUOTES, 'UTF-8'),
htmlspecialchars($res['fanDetLocState'], ENT_QUOTES, 'UTF-8')
);
}
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- Sails.js:同时发布文本输入和一个文件
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 使用jquery在单击时在单元格中输入值
- Ajax文件加载和<输入>文件加载
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 输入中的回声值,一旦键入值
- 根据输入字段值回声图像