我非常需要你的帮助。 我似乎无法在代码中找到错误。
案例是,我试图根据我的组合框值填充我的文本框字段,并在sql数据库中连接。我在网上尝试了一些代码然后我发现了一个看似准确的代码,但我似乎无法在我的文本框中显示结果。
这是我的HTML代码:
<?php
echo"Concept Store:";
echo "<select width='100' id='strs' name='strs' >";
echo "<option></option>";
while($row=sqlsrv_fetch_array($stmt))
{
$x= $row['strnm'];
echo " <option> $x</option>" ;
}
echo "</select>";
?>
Address    : <input type="text" id="add" name="add" size="27" /><br><br>
这是AJAX:
<script type="text/javascript">
$(document).ready(function(){
$('#strs').change(function(){
$.post("gadd.php",{strs:$(this.val() )},function(result){
$("#add").val(result);
});
});
});
</script>
这是我的'gadd.php'
<?php
session_start();
include ('sqlconn.php');
$gadd=$_post['strs'];
//$t1= mysql_real_escape_string($t1);
$sql="Select distinct dadd1 from ostore where strnm='".$gadd."' ";
$stmt = sqlsrv_query($conn,$sql);
//echo "<option></option>";
while ($row = sqlsrv_fetch_array($stmt))
{
// $type2=$row['dadd1'];
echo $row['dadd1'];
//echo '<option value ="'.$type2.'">'.$type2.'</option>';
}
?>
如果你可以帮助我,那真是太棒了谢谢你!
答案 0 :(得分:0)
检查一下。全局变量应该是大写的。
$gadd = $_POST['strs'];
答案 1 :(得分:0)
首先,确保使用适当的全局变量格式$gadd = $_POST['strs'];
其次,检查您的查询是否正常,请尝试此操作
$sql=("Select distinct dadd1 from ostore where strnm = '$gadd'");
答案 2 :(得分:0)
最可能的是,因为你错过了期权中的价值。 使用此:
echo " <option value='$x'> $x</option>" ;
而不是:
echo " <option> $x</option>" ;
如果仍然不起作用,就像在检查查询是否正常之前所说的那样。 您可以通过选项“Inspect element”和转到“Network”选项卡在chrome中执行此操作。您可以看到通过ajax和返回数据发送的内容。