使用HTML表单值AJAX/PHP MySqli查询
Using HTML forms values for AJAX/PHP MySqli query
我试图使用AJAX与php和MySqli从数据库中获得结果。我是非常新的ajax和javascript,所以任何帮助将不胜感激
这是我的表单:
<form method="get">
<input type="number" min=0 name="gameId" id="gameId" placeholder="Game Id" required><br>
<input type="number" min=0 step=0.01 name="price" id="price" placeholder="Price" required><br>
<button type="submit" onClick="getGames()">Submit</button>
</form>
这是我在JS中的AJAX:
function getGames() {
var gameId = document.getElementById("gameId").value;
var price = document.getElementById("price").value;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("jumbotron").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","getGames.php?gameId="+gameId+"&price="+price, true);
xmlhttp.send();
}
这是php
<?php
$servername = "localhost";
$serverusername = "root";
$dbname = "ryangames";
$gameId = intval($_GET["gameId"]);
$price = intval($_GET["price"]);
$conn = mysqli_connect($servername, $serverusername, "", $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM GAMES WHERE GameId = ".$gameId." AND Price = ".$price;
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
echo "<div class='"gameHolder'">
<img class='"gameImg'" src='"images/".$row["Code"].".png'" alt='"".$row["Name"]."'">
<div class='"gameText'">
<h3 class='"gameName'">".$row["Name"]."</h3>
<p class='"gameDesc'">".$row["Description"]."</p>";
if ($row["Price"] == 0) {
echo "<p class='"gamePrice'">FREE</p>";
} else {
echo "<p class='"gamePrice'">£".$row["Price"]."</p>";
}
echo" </div>
</div>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
我可以看到我的地址的值,但什么也没有发生。查询工作,如果我只是包含在php中,并使用户刷新每次。
更新:将两个getElementByIds的末尾都改为.value
将按钮从input type="submit"
更改为input type="button"
试试吧。也许你没有在html形式
中传递gameId和price值var gameId = document.getElementById(gameId").value;
var price = document.getElementById("price").value;
#编辑
提交按钮的另一种选择是将提交事件附加到表单上,并使用e.p preventdefault ();
document.getElementById("myform").addEventListener("submit",function(e){
e.preventDefault();
var gameId = document.getElementById("gameId").value;
var price = document.getElementById("price").value;
document.write("gameId:"+gameId+"price"+price);
//... to be continued
});
<form id="myform" method="get">
<input type="number" min=0 name="gameId" id="gameId" placeholder="Game Id" required><br>
<input type="number" min=0 step=0.01 name="price" id="price" placeholder="Price" required><br>
<button type="submit">Submit</button>
</form>
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 将数组从PHP传递到Javascript
- 如何在php文件中获取$.post-ajax传递的值
- Javascript运行php文件,然后下载文件
- PHP中的setcookie仅适用于localhost
- 如何使用jquery处理php循环通过元素
- 通过Ajax将JavaScript函数传递给PHP文件
- 使用Mysqli、PHP和AJAX的聊天系统正在将空白消息插入数据库
- 如何将动态数据从JSON获取到jvqmaps中,作为对象而不是来自php mysqli的数组
- 登录表单Mysqli php与HTML
- 将PHP/MySQLi结果显示为HTML表
- PHP MYSQLI无法从数据库中删除一行数据
- mysqli查询在foreach php中不起作用
- 如何获取和显示数据,而滚动的页面使用php mysqli javascript
- Javascript, Mysqli, and PHP Looping
- 使用HTML表单值AJAX/PHP MySqli查询
- 我的文件和信息将不会上传(mysqli &PHP)
- PHP MySqli查询不工作,但脚本标签内没有错误