老师好!我在自己构建的本地Apache服务器的同一目录下创建了三个文件:index.html、insert.js和score.php。现在的问题是在index.html页面中新输入数据后,点击“添加”按钮本来应该在页面下方显示数据表中的所有信息,但是不显示,可是这些新数据却能插入到数据表中。数据库的连接、SQL语句的执行都没有问题。请问究竟是哪部分的代码出现了问题?谢谢!// score.php
<?php
$p = "111111";// 数据库服务器登录密码
$conn = mysql_connect("127.0.0.1","root",$p) or die("连接数据库服务器失败!".mysql_error());// 连接数据库服务器
mysql_query("CREATE DATABASE IF NOT EXISTS score;");// 创建成绩数据库score
mysql_select_db("score",$conn);// 选择该数据库
mysql_query("set names utf8;");// 设置数据库编码方式为UTF-8
// 创建数据表
mysql_query("CREATE TABLE IF NOT EXISTS tscore(term VARCHAR(2) NOT NULL DEFAULT '0', coursename VARCHAR(50) NOT NULL DEFAULT '' PRIMARY KEY, points FLOAT NOT NULL DEFAULT 0, credit FLOAT NOT NULL DEFAULT 0);",$conn);
// 接收通过Ajax用POST方法传递过来的参数
$terms = (string)$_POST['terms'];
$coursename = (string)$_POST['coursename'];
$points = (float)$_POST['points'];
$credit = (float)$_POST['credit'];
$result = false;
// 将上述参数插入数据表中
$sqlstr = "INSERT IGNORE INTO tscore(term,coursename,points,credit) VALUES('".$terms."','".$coursename."',".$points.",".$credit.");";
$result = mysql_query($sqlstr,$conn);
// 只有插入语句成功执行后才输出插入的记录
if($result){
$results = mysql_query("SELECT * FROM tscore ORDER BY term;",$conn);
echo "<table align='center' border='1' cellpadding='1' cellspacing='1' bordercolor='#000000'>";
echo "<tr><td align='center' height='30' width='100' bgcolor='#FFFFFF'>学期</td><td align='center' width='300' bgcolor='#FFFFFF'>课程名称</td>";
echo "<td align='center' width='80' bgcolor='#FFFFFF'>综合成绩</td><td align='center' width='80' bgcolor='#FFFFFF'>课程学分</td></tr>";
// 循环输出数据表的各条记录
while($myrow = mysql_fetch_array($results)){
switch($myrow[0]){
case "1a": $myrow[0] = "大一上学期"; break;
case "1b": $myrow[0] = "大一下学期"; break;
case "2a": $myrow[0] = "大二上学期"; break;
case "2b": $myrow[0] = "大二下学期"; break;
case "3a": $myrow[0] = "大三上学期"; break;
case "3b": $myrow[0] = "大三下学期"; break;
default: break;
}
echo "<tr><td align='center' height='24' width='100' bgcolor='#FFFFFF'>".$myrow[0]."</td>";
echo "<td align='center' width='300' bgcolor='#FFFFFF'>".$myrow[1]."</td>";
echo "<td align='center' width='80' bgcolor='#FFFFFF'>".$myrow[2]."</td>";
echo "<td align='center' width='80' bgcolor='#FFFFFF'>".$myrow[3]."</td>";
echo "</tr>";
}
echo "</table>";
}
?><!--index.html-->
<!DOCTYPE html>
<html>
<head><title>学业成绩导入</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="insert.js"></script>
</head>
<body style="background-color:#B8E2E2">请先录入以下信息:<br>
<form action="#" id="coursedata" method="post">
<p class="info" align="center">选择学期:
<select id="terms">
<option value="0" selected="selected"></option>
<option value="1a">大一上学期</option><option value="1b">大一下学期</option>
<option value="2a">大二上学期</option><option value="2b">大二下学期</option>
<option value="3a">大三上学期</option><option value="3b">大三下学期</option>
</select>
课程名称:<input type="text" id="coursename" required="required">
综合成绩:<input type="number" id="points" min="0" max="100" required="required">
课程学分:<input type="number" id="credit" min="0" max="12" step="0.5" required="required">
<button onclick="insertIntoTable();">添加</button>
<button type="reset">重新输入</button></p></form>
<td colspan="2" valign="top"><div id="result0"></div></td>
</body>
</html>// insert.js
var XMLHttp;
function getXmlHttpObject(){ // XMLHttpRequest对象创建函数
if(window.XMLHttpRequest){ // IE 7.0+, Firefox, Chrome, Opera, Safari
try{
XMLHttp = new XMLHttpRequest();
}
catch(e){
XMLHttp = false;
}
}
else{ // IE 6
try{
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
XMLHttp = false;
}
}
if(!XMLHttp){
alert("XMLHttpRequest对象创建错误!");
}
else{
return XMLHttp;
}
}
function insertIntoTable(){ // 主控制函数
var xmlHttp = getXmlHttpObject(); // 创建XMLHttpRequest对象
// 获取表单提交的值
var terms = document.getElementById("terms").value;
var coursename = document.getElementById("coursename").value;
var points = document.getElementById("points").value;
var credit = document.getElementById("credit").value;
if(terms == 0){ // 判断表单提交的值
alert("请选择学期!");
return false;
}else{
var post_arg = "terms=" + terms + "&coursename=" + coursename + "&points=" + points + "&credit=" + credit; // 构造URL传递参数
xmlHttp.open("POST","score.php",true);// 调用添加文件score.php
// 设置请求头信息
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = changeState;// 判断URL调用的状态值并处理
xmlHttp.send(post_arg); // 将数据发送给服务器
}
}
function changeState(){ // 定义处理函数
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
if(xmlHttp.responseText != ""){
document.getElementById("result0").innerHTML = xmlHttp.responseText;
}
else{
alert("向数据库添加记录失败!错误:" + xmlHttp.status);
}
}
}
添加回答
举报
0/150
提交
取消