我正在尝试创建一个搜索框来显示MYSQL / PHP中的“地址”
我使用ajax刷新页面而不离开页面,但是当我在浏览器中运行时,它总是给我一个错误。当我使用console时,echo $ _POST ['name']的返回结果=(header.php的html代码+“我需要什么”+ footer.php的html代码)
<?php
include 'header.php';
include 'Connect.php';
if( isset($_POST['ajax']) && isset($_POST['name']) ){
echo $_POST['name'];
exit;
}
?>
<form method="POST">
<label>Username</label>
<input type="text" name="name" required="required" id='name'>
<div id='response'></div>
</form>
<script>
$(document).ready(function(){
$('#name').keyup(function(){
var name = $('#name').val();
$.ajax({
type: 'post',
url: index.php,
data: {ajax: 1,name: name},
success: function(response){
$('#response').text(response);
}
});
});
});
</script>
<?php
if(isset($_POST['name'])){
$username = $_POST['name'];
$stmt = $con->prepare("SELECT Username, FullName, Adresse, Email, Phone FROM dbo.users WHERE Username= ?");
$stmt->execute(array($username));
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
$Username = $row["Username"];
$FullName = $row["FullName"];
$Adresse = $row["Adresse"];
$Email = $row["Email"];
$Phone = $row["Phone"];
echo "<tr>
<div>
<td>".$Username."</td>
<td>".$FullName."</td>
<td>".$sEID."</td>
<td>".$Email."</td>
<td>".$Phone."</td>
</div>
</tr>";
}
echo "</table>
</div>";
} else echo '<div class="alert alert-danger"> This Name <strong>is not exit</strong></div>';
include $tpl.'footer.php';
}
?>
答案 0 :(得分:0)
你的问题不是很清楚......如果我理解正确......这已被设计破坏,你正在调用页面本身并用整个页面的内容更新#name,那就是为什么你看到html +&#34;你需要什么&#34; (响应):响应是整个页面。
执行此操作的正确方法是在单独的脚本上移动PHP代码的第二部分(执行查询ecc。),然后通过在ajax调用中将其名称作为url参数调用该新脚本
答案 1 :(得分:0)
感谢您的回复,我想使用ajax返回的值与MYSQL / PHP一起使用以回显$ row [&#39; Address&#39;]; 如果我移动PHP代码的第二部分结果是 echo $ _POST [&#39; name&#39;] =(&#34;我需要什么&#34; + footer.php的html代码)