Javascript 运行PHP代码,根据文本元素的值从数据库中获取值
所有我;我正在构建一个基于web的系统。在这里,我在想,是否可以根据我在文本框中输入的数字来获取名称。我所做的尝试如下。我知道它不起作用。还有其他解决办法吗?请帮忙 html代码是Javascript 运行PHP代码,根据文本元素的值从数据库中获取值,javascript,php,mysql,database,Javascript,Php,Mysql,Database,所有我;我正在构建一个基于web的系统。在这里,我在想,是否可以根据我在文本框中输入的数字来获取名称。我所做的尝试如下。我知道它不起作用。还有其他解决办法吗?请帮忙 html代码是 Item No:<input name="iNo" type="text" id="iNo" size="40" maxlength="6" onblur="namesrch()"> Item Name:<input name="na" type="text" id="na" siz
Item No:<input name="iNo" type="text" id="iNo" size="40" maxlength="6" onblur="namesrch()">
Item Name:<input name="na" type="text" id="na" size="40" maxlength="40" disabled>
项目编号:
项目名称:
这是我的javascript
function namesrch(){
iNumber = document.getElementById('iNo').value;
document.getElementById('na').value="<?php $SQL="SELECT iName FROM item Where iNo='iNumber'" ; $run=mySQL_Query($SQL,$con) or die ("SQL error"); while($rec=mySQL_fetch_array($run)){echo $rec{'iName'}}?>";
}
函数namesrch(){
iNumber=document.getElementById('iNo')。值;
document.getElementById('na')。value=“”;
}
希望你能理解我的意图。提前感谢。JavaScript是客户端语言,而as PHP是服务器端语言。你不能像那样在JavaScript中运行PHP。你需要的是 下面是一个简单的例子: Javascript
$('#iNo').on('update', function() {
$.ajax({
type: 'POST',
url: 'ajax.php',
data: { no: $(this).val() }
success: function(name) {
$('#na').val(name);
}
});
});
Ajax.php
$dbConn = new MySqli($host, $username, $passwd, $dbName);
$no= filter_input(INPUT_POST, "no", FILTER_VALIDATE_INT);
$query = "SELECT iName FROM item WHERE iNo = $no";
$result = $dbConn->query($query);
$name = '';
if($dbConn->errno) {
//An error occurred
} elseif($result->num_rows) {
$row = $result->fetch_assoc();
$name = $row['iNo'];
$result->free();
}
echo $name;
你会注意到我使用的是,而不是MySQL。MySQL已贬值,不应再使用。值得你花时间学习使用或
我希望这会有所帮助。您不能将php和js混合使用。假设您希望所有代码都在一个文件中: filename.php(未测试)
也许可以考虑将代码放在几行而不是一行。你不能像那样混合使用javascript和php。您需要使用输入的值进行AJAX调用,将其传递给服务器,服务器运行PHP请求信息,并将其返回给javascript。它无法在客户端上动态更改Javascript值。
<?php
if (isset($_GET['iNumber'])) {
$mysqli = new mysqli("localhost", "my_user", "my_password", "database_name");
// You need to check for sql injection here
$SQL = "SELECT iName FROM item Where iNo = '".$_GET['iNumber']."'' LIMIT 1";
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
echo json_encode(array('iName' => $row['iName']));
exit();
}
?>
<html>
<head>
<title></title>
</head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<body>
Item No:<input name="iNo" type="text" id="iNo" size="40" maxlength="6" onblur="namesrch()">
Item Name:<input name="na" type="text" id="na" size="40" maxlength="40" disabled>
<script type="text/javascript">
function namesrch() {
iNumber = document.getElementById('iNo').value;
$.getJSON('filename.php?iNumber='+iNumber, function(response) {
$('#na').value(response.name);
});
}
</script>
</body>
</html>