Javascript 使用AJAX将数据库记录加载到表中?
我得到了一个代码,可以在使用ajax的网站上修改数据库记录 我有正确查询数据的功能,但显示的表中没有显示任何记录。我有下面的函数代码和html 请查看当前版本的此链接: 具有回调的loadrecords函数不确定使用回调的原因 与函数位于同一页的是下表 该函数调用List.php,其编码如下 因此,如果您已经看到了该网站,您将看到您按下LoadDatabase按钮,并显示一个包含所有数据库条目的框。但是,一旦按enter键,页面上的表格将保持为空 我的问题是为什么? 你能解释一下问题出在哪里吗Javascript 使用AJAX将数据库记录加载到表中?,javascript,php,ajax,html-table,Javascript,Php,Ajax,Html Table,我得到了一个代码,可以在使用ajax的网站上修改数据库记录 我有正确查询数据的功能,但显示的表中没有显示任何记录。我有下面的函数代码和html 请查看当前版本的此链接: 具有回调的loadrecords函数不确定使用回调的原因 与函数位于同一页的是下表 该函数调用List.php,其编码如下 因此,如果您已经看到了该网站,您将看到您按下LoadDatabase按钮,并显示一个包含所有数据库条目的框。但是,一旦按enter键,页面上的表格将保持为空 我的问题是为什么? 你能解释一下问题出在哪里吗
阿贾克斯新手,如果我在帖子上违反了规则,我会道歉,这是我的第一次 我对php不太清楚,但从我的asp+ajax经历中我记得:
您可以将数据带回浏览器,但您应该重新绘制页面-您可以使用javascript进行此操作,或者PHP已经有了一些现成的解决方案
验证方法后,appendRecord接收有效值-按id使用javascript查找表DBTable,并按记录更新行/列的值
我建议您查看一下您将数据带回浏览器,但您应该重新绘制页面-您可以使用javascript来完成此操作,或者PHP已经有了一些现成的解决方案
验证方法时,appendRecord接收有效值-按id使用javascript查找表DBTable,并按记录更新行/列的值。我不知道AJAX规则,但这对我来说似乎是个糟糕的主意。您将数据库直接暴露于PHP页面?没有验证?没有身份验证或授权?不用担心SQL注入?数据库中没有敏感数据?如果这是一个学术作业,我会说这是一个不该做的例子。这正是我的想法。这是给我们的一个密码。非常基本的东西,但我不知道如何编辑写得如此糟糕的东西。我唯一做到的就是列出数据,但它所做的就是删除页面上的表。丢失…尝试使用单一值-将其放在页面上,使用ajax返回,尝试更新其值。您可能需要通过JavaScript客户端更新该值。这将为您指明方向。我所要做的就是使用“加载”按钮从数据库中获取要加载到网站表中的值。我是一个新手程序员,试图从这个例子中学习。显然,给出的代码是无用的。appendRecord方法做什么?如果您在内部添加了警报-您看到了正确的值吗?是否认为有一个appendRecord函数现在未使用?在何处添加警报?验证方法后,appendRecord接收有效值-按id使用javascript查找表DBTable,并按记录更新行/列的值。
<script language="Javascript">
var xmlHttpReq = false;
var xmlHttpReq2 = false;
var xmlHttpReq3 = false;
function loadDatabaseRecordsCallback ()
{
if (xmlHttpReq.readyState == 4)
{
alert ("From Server (Load Records):List.php" + xmlHttpReq.responseText);
var record = xmlHttpReq.responseXML.getElementsByTagName('record');
var s = "";
for (var i = 0; i < record.length; i ++)
{
var rec = record[i];
var id = rec.getElementsByTagName("ID")[0].firstChild.data;
var carname = rec.getElementsByTagName("CARNAME")[0].firstChild.data;
var fueltype = rec.getElementsByTagName("FUELTYPE")[0].firstChild.data;
var transmission = rec.getElementsByTagName("TRANSMISSION")[0].firstChild.data;
var enginesize = rec.getElementsByTagName("ENGINESIZE")[0].firstChild.data;
var doors = rec.getElementsByTagName("DOORS")[0].firstChild.data;
var total = rec.getElementsByTagName("TOTAL")[0].firstChild.data;
var available = rec.getElementsByTagName("AVAILABLE")[0].firstChild.data;
appendRecord (id, carname, fueltype, transmission, enginesize, doors, total, available);
}
}
}
function loadDatabaseRecords ()
{
// Mozilla/Safari
if (window.XMLHttpRequest)
{
xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject)
{
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
alert ("To Server (Load Records): List.php");
xmlHttpReq.open('GET', "List.php", true);
xmlHttpReq.onreadystatechange = loadDatabaseRecordsCallback;
xmlHttpReq.send(null);
}
<body>
<form name="f1">
<input value="Load Database" type="button" onclick='JavaScript:loadDatabaseRecords()'></p>
</form>
<table id="DBTable" border="2">
<tr>
<td width="20">ID</td>
<td width="100">Car Name</td>
<td width="100">Fuel Type</td>
<td width="100">Transmission</td>
<td width="80">Engine size</td>
<td width="20">Doors</td>
<td width="20">Total</td>
<td width="20">Available</td>
</tr>
<form name="myform">
<tr>
<td><input type="text" name="id"></td>
<td><input type="text" name="carname"></td>
<td><input type="text" name="fueltype"></td>
<td><input type="text" name="transmission"></td>
<td><input type="text" name="enginesize"></td>
<td><input type="text" name="doors"></td>
<td><input type="text" name="total"></td>
<td><input type="text" name="available"></td>
<td colspan="2"><input type="button" value="add" onClick="JavaScript:addNewRecord()"></td>
<td colspan="2"><input type="checkbox" value="update" onClick="JavaScript:updateRecord()"></td>
<td colspan="2"><input type="checkbox" value="delete" onClick="JavaScript:deleteRecord()"></td>
</tr>
</form>
</table>
</body>
<?php
$link = mysql_connect ("194.81.104.22", "********", "*****");
mysql_select_db ("*******");
$query = "SELECT * from XYZ";
$result = mysql_query ($query);
for ($i = 0; $i < mysql_num_rows ($result); $i ++)
{
$row = mysql_fetch_object ($result);
print "<b>Car Name:</b> <i>$row->CARNAME</i><br>";
print "<b>Fuel Type:</b> <i>$row->FUELTYPE</i><br>";
print "<b>Transmission:</b> <i>$row->TRANSMISSION</i><br>";
print "<b>Total:</b> <i>$row->TOTAL</i><br>";
print "<b>Available:</b> <i>$row->AVAILABLE</i><br><br>";
}
mysql_close ($link);
?>