出现问题
PHP代码
<?php
header("Content-Type:text/html;charset=utf-8");//如果没有这句话,后面的汉字显示是乱码;
//连接数据库 使用mysqli模式
$username="root";
$userpass="123456";
$servername = "localhost";
$dbname = "design";
$conn = "";//数据库变量
//连接数据库函数,参数分别是数据库地址,用户名,密码,数据库的名称
function connectdb($server,$name,$pwd,$databasename)
{
//创建连接 ,连接数据库,并判断是否连接成功
$conn = new mysqli($server,$name,$pwd,$databasename);
// 检测连接
if ($conn->connect_error)
{
die("link db failire: " . $conn->connect_error);
echo "connect database [" . $server . " ] failire <br/>";
return $conn;
}
else
{
//echo "connect database [" . $server . "] successful <br/>";
return $conn;
}
}
//检测表是否存在
function check_table_is_exist($sql,$find_table)
{
$row=mysql_query($sql);
$database=array();
$finddatabase=$find_table;
while ($result=mysql_fetch_array($row,MYSQL_ASSOC))
{
$database[]=$result['Database'];
}
unset($result,$row);
mysql_close();
/*开始判断表是否存在*/
if(in_array($find_table,$database))
{
return true;
}
else
{
return false;
}
}
//create new table
function createnewtable($conn)
{
// 使用 sql 创建数据表
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
if ($conn->query($sql) == TRUE)
{
echo "Table MyGuests created successfully <br/>";
}
else
{
echo "create database table error: " . $conn->error . " <br/>";
return false;
}
}
function insertrecord($conn,$tablename)
{
//echo -e "\r\n";
//插入一条数据
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
if ($conn->query($sql) == TRUE)
{
print "insert one record successful <br/>";
} else
{
echo "Error: " . $sql . "<br/>" . $conn->error;
echo "\r\n";
}
$sql="";
//插入多条数据
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Mary', 'Moe', 'mary@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Julie', 'Dooley', 'julie@example.com')";
if ($conn->multi_query($sql) == TRUE) {
echo "insert records successful. <br/>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
return true;
}
/*
function showtabledata($conn,$sql)
{
$conn->query($sql);
}
*/
//删除某行数据
function del_data($conn,$sql)
{
print $sql . "</br>";
if($conn->query($sql)==true)
{
echo "delete records successful </br>";
}
else
{
echo "delete records failire </br>";
}
}
function show_alldata_fromtable($servername,$username,$userpass,$dbname,$tablename)
{
$conn = mysqli_connect($servername,$username,$userpass,$dbname);
if(mysqli_connect_errno($conn))
{
echo "connect mysql failed " . mysqli_connect_error();
return;
}
//echo "connect successful<br>";
//第二步设置相应的字符编码
//$mysqli->set_charset("utf8");
//$setting = 'set names utf8';
//mysqli_query($conn,$setting);
//echo "query successful <br>" ;//. $conn . $setting;
//第三步进行查询
//从 表中选取所有的列。
$sql = 'SELECT * FROM MyGuests';
//执行查询语句,返回result为数据内容
if($result = mysqli_query($conn,$sql))
{
//得到查询的记录的个数,
$rowcount = mysqli_num_rows($result);
//111echo "return {$rowcount} records <br>";
for($i = 0;$i <$rowcount;$i ++)
{
//按顺序一次读取一条记录,保存到sqldata中
$sqldata = mysqli_fetch_assoc($result);
echo
"<center>
<table>
<tr>
<td>".$sqldata['id']."</td>
<td>".$sqldata['firstname']."</td>
<td>".$sqldata['lastname']. "</td>
<td>".$sqldata['email']. "</td>
<td>".$sqldata['reg_date']. "</td>
</tr>
</table>
</center>";
}
//从结果集中取得行,然后释放结果内存:
mysqli_free_result($result);
}
//第五步把结果写到缓存文件
$file = "sqlcache.txt";
//通过序列化表单值,创建 URL 编码文本字符串。
$msg = serialize($sqldata);
//echo $msg;
//打开文件或者 URL
//"w" 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
$fp = fopen($file,"w");
//写入文件
fputs($fp,$msg);
//关闭一个打开文件
fclose($fp);
}
//执行代码
$conn = connectdb("localhost","root","123456","design");
//createnewtable($conn);
//$sql = "DELETE FROM myguests ";
//del_data($conn,$sql);
//insertrecord($conn,'MyGuests');
//$conn->close();
show_alldata_fromtable("localhost","root","123456","design",'',$conn);
$conn->close();
?>
前端代码
<body ng-controller = 'main'>
<div class="">
<center>
<table class="table table-bordered table-striped">
<thead>
<tr>
<td>学号</td>
<td>姓</td>
<td>名</td>
<td>邮件地址</td>
</tr>
</thead>
<tbody id="tbody"></tbody>
</table>
</center>
</div>
<button class="update">更新</button>
</body>
<script type="text/javascript">
$.ajax({
type: 'POST',
url: 'testdb.php',
data: {"id":"1","firstname":"John","lastname":"Doe","email":"john@example.com"},
success: function (data) {
//这里采用了一个非常笨的方法
//使用正则表达式 将其中的 '}' 更换成 '} ' ,增加了一个空格,
var reg = new RegExp('}',"g");
var data = data.replace(reg,'} ');
//根据 空格 分割成多个对象,
var a = data.split(' ');
var trStr = '';//动态拼接table
for (var i = 0; i < data.length-1; i++) {
//a[i]=a[i].replace('{','');
trStr += '<tr class="example">';
trStr += '<td width="15%">' + data[i].id + '</td>';
trStr += '<td width="15%">' + data[i].firstname + '</td>';
trStr += '<td width="15%">' + data[i].lastname + '</td>';
trStr += '<td>' + data[i].email + '</td>';
//trStr += '<td>' + JSON.parse(a[i]).reg_date + '</td>';
trStr += '</tr>';
}
$("#tbody").html(trStr);
//设置id为tbody的tbody内容为trStr
}
});
</script>