使用 javascript var 通过 php mysql 查询数据
using javascript var to query data with php mysql
对于这种情况,我找不到任何解决方案,当 id 用户文本值更改时,名称和地址将被填充。但它 return php 查询中的一些错误。
抱歉,如果此 post 重复,因为我找不到适合我的情况的解决方案。
这里是html形式
<form id="frm_add_bill" name="frm_add_bill" >
<label >id user</label>
<input type="text" onchange="getplg()" id="kdp" name="kdp">
<label >user name</label>
<input type="text" maxlength="25" name="name" id="name" readonly>
<label >user address</label>
<input type="text" name="address" id="address" readonly>
</form>
此处javascript和php代码
<script type="text/javascript"> function getplg(){
var kdpe = $('#kdp').value;
$.ajax({
type: 'post',
url: '',
data: kdpe,
timeout: 50000
});
}</script>
<?php
if (isset($_POST['kdpe'])) {
$kpde=htmlspecialchars($_POST['kdpe']);
$amxz=mysql_query("SELECT name, address from tbl_user where id_user='$kpde'");
$camqz=mysql_fetch_array($amxz);
echo "<script>document.write(fillem());</script>";
}
?>
<script type="text/javascript">
function fillem(){
document.frm_add_bill.name.value=<?php echo $camqz['0'];?>;
document.frm_add_bill.address.value=<?php echo $camqz['1'];?>;
}
</script>
您必须使用 onkeydown
、onkeyup
、onpaste
或 oninput
事件,而不是 onchange 事件。
您应该像这样传递数据:
$.ajax({name:value, name:value, ... })
function getplg(){
try{
var kdpe = $('#kdp').val();
console.log("here");
$.ajax({
method: 'post',
url: '',
data: {val:kdpe}}).done(function(data){
console.log(data);
console.log("hello");
});
}catch(Exception){
alert("error");
}
}
</script>
试试这个。
首先将您的 ajax 函数更改为:
function getplg()
{
var kdpe = $('#kdp').val();
$.ajax({
type: 'post',
url: '',
data: "kdpe="+kdpe,
timeout: 50000
});
}
这里需要使用param.
传入"kdpe="+kdpe
并在 if (isset($_POST['kdpe']))
检查中移动 fillem()
。
<?php
if (isset($_POST['kdpe'])) {
$kpde=htmlspecialchars($_POST['kdpe']);
$amxz=mysql_query("SELECT name, address from tbl_user where id_user='$kpde'");
$camqz=mysql_fetch_array($amxz);
echo "<script>document.write(fillem());</script>";
?>
<script>
function fillem(){
document.frm_add_bill.name.value=<?php echo $camqz['0'];?>;
document.frm_add_bill.address.value=<?php echo $camqz['1'];?>;
}
</script>
<?php
}
?>
旁注:
停止使用 mysql_*
因为它已弃用并在 PHP 中关闭 7. 使用 mysqli_*
或 PDO
我找到了这个案例的答案
这段js代码在标签内使用
<script type="text/javascript">
$(document).ready(function()
{
$("#kdp").blur(function() {
var idkategori = $(this).val();
if (idkategori != "")
{
$.ajax({
type:"post",
url:"getsubkat.php",
data:"id="+ idkategori,
success: function(data){
$("#name").html(data);
}
});
}
});
});
</script>
和这个html
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">
User Code
</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="kpd" name="kdp" >
</div>
</div>
<div id="name">
</div>
和php代码与js和html不同的页面(getsubkat.php)
<?php
include ("components/inc/connection.php");
$id=$_POST['id'];
$query=mysql_query("SELECT name, address from tbl_user where user_code='".$id."'");
$data=mysql_fetch_array($query);
echo"<div class='form-group'>";
echo"<label for='inputEmail3' class='col-sm-2 control-label'>user name </label>";
echo"<div class='col-sm-10'>";
echo"<input type='text' class='form-control' value='$data[user_name]' readonly>";
echo"</div>";
echo"</div>";
echo"<div class='form-group'>";
echo"<label for='inputEmail3' class='col-sm-2 control-label'>user address</label>";
echo"<div class='col-sm-10'>";
echo"<input type='text' class='form-control' value='$data[user_address]' readonly>";
echo"</div>";
echo"</div>";
?>
对于这种情况,我找不到任何解决方案,当 id 用户文本值更改时,名称和地址将被填充。但它 return php 查询中的一些错误。
抱歉,如果此 post 重复,因为我找不到适合我的情况的解决方案。
这里是html形式
<form id="frm_add_bill" name="frm_add_bill" >
<label >id user</label>
<input type="text" onchange="getplg()" id="kdp" name="kdp">
<label >user name</label>
<input type="text" maxlength="25" name="name" id="name" readonly>
<label >user address</label>
<input type="text" name="address" id="address" readonly>
</form>
此处javascript和php代码
<script type="text/javascript"> function getplg(){
var kdpe = $('#kdp').value;
$.ajax({
type: 'post',
url: '',
data: kdpe,
timeout: 50000
});
}</script>
<?php
if (isset($_POST['kdpe'])) {
$kpde=htmlspecialchars($_POST['kdpe']);
$amxz=mysql_query("SELECT name, address from tbl_user where id_user='$kpde'");
$camqz=mysql_fetch_array($amxz);
echo "<script>document.write(fillem());</script>";
}
?>
<script type="text/javascript">
function fillem(){
document.frm_add_bill.name.value=<?php echo $camqz['0'];?>;
document.frm_add_bill.address.value=<?php echo $camqz['1'];?>;
}
</script>
您必须使用 onkeydown
、onkeyup
、onpaste
或 oninput
事件,而不是 onchange 事件。
您应该像这样传递数据:
$.ajax({name:value, name:value, ... })
function getplg(){
try{
var kdpe = $('#kdp').val();
console.log("here");
$.ajax({
method: 'post',
url: '',
data: {val:kdpe}}).done(function(data){
console.log(data);
console.log("hello");
});
}catch(Exception){
alert("error");
}
}
</script>
试试这个。
首先将您的 ajax 函数更改为:
function getplg()
{
var kdpe = $('#kdp').val();
$.ajax({
type: 'post',
url: '',
data: "kdpe="+kdpe,
timeout: 50000
});
}
这里需要使用param.
传入"kdpe="+kdpe
并在 if (isset($_POST['kdpe']))
检查中移动 fillem()
。
<?php
if (isset($_POST['kdpe'])) {
$kpde=htmlspecialchars($_POST['kdpe']);
$amxz=mysql_query("SELECT name, address from tbl_user where id_user='$kpde'");
$camqz=mysql_fetch_array($amxz);
echo "<script>document.write(fillem());</script>";
?>
<script>
function fillem(){
document.frm_add_bill.name.value=<?php echo $camqz['0'];?>;
document.frm_add_bill.address.value=<?php echo $camqz['1'];?>;
}
</script>
<?php
}
?>
旁注:
停止使用 mysql_*
因为它已弃用并在 PHP 中关闭 7. 使用 mysqli_*
或 PDO
我找到了这个案例的答案
这段js代码在标签内使用
<script type="text/javascript">
$(document).ready(function()
{
$("#kdp").blur(function() {
var idkategori = $(this).val();
if (idkategori != "")
{
$.ajax({
type:"post",
url:"getsubkat.php",
data:"id="+ idkategori,
success: function(data){
$("#name").html(data);
}
});
}
});
});
</script>
和这个html
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">
User Code
</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="kpd" name="kdp" >
</div>
</div>
<div id="name">
</div>
和php代码与js和html不同的页面(getsubkat.php)
<?php
include ("components/inc/connection.php");
$id=$_POST['id'];
$query=mysql_query("SELECT name, address from tbl_user where user_code='".$id."'");
$data=mysql_fetch_array($query);
echo"<div class='form-group'>";
echo"<label for='inputEmail3' class='col-sm-2 control-label'>user name </label>";
echo"<div class='col-sm-10'>";
echo"<input type='text' class='form-control' value='$data[user_name]' readonly>";
echo"</div>";
echo"</div>";
echo"<div class='form-group'>";
echo"<label for='inputEmail3' class='col-sm-2 control-label'>user address</label>";
echo"<div class='col-sm-10'>";
echo"<input type='text' class='form-control' value='$data[user_address]' readonly>";
echo"</div>";
echo"</div>";
?>