mysql+ php_php+mysql

本文整理一下使用php和mysql向前端推送数据的过程。

数据库部分:

1.首先安装服务器,我选择xampp,安装可以选择任意地址。安装完成,打开xampp-control.exe 。

选择开启Apache和MySQL:

4ac324984570a334ea6735d2ead8bd11.png

2.浏览器进去http://localhost/phpmyadmin/。

这个时候就可以看到数据库页面。新建一个数据库。

60f8dbabdaea9ffce80fe7636d7d03b7.png

3.新建一个数据表,假设我们需要的数据有n个字段,字段数就选择n+1,多出的一个字段用来存放id。

b740e82b5bd5dc05f735e71fbb05f4d7.png

4.新建完成后设置表的内容时,id记得勾选A_I,这样新建的表项id值会自动增加。如果是字符串类型的数据,排序规则选择utf8_general_ci,这样前端也使用utf8编码,不会出现乱码。

5.新建表完成以后,SQL页面可以看到如何使用命令行操作表格,后面我们在代码中对表格的操作也会利用这些命令行。

代码部分:

1.从数据库读取数据并显示在页面上,我们用jquery的ajax读取:

js代码:var $lists = $("article ul");

$lists.empty();

$.ajax({

url:"server/getnews.php",

type:"get",/*ajax get方法读取数据*/datatype:"json",/*json方式获取*/data:{"newstype":newsType},/*传递一个条件,当newstype项的值为newsType时*/success:function(data) {

$.each(data,function(index,item) {/*将data逐条遍历*/console.log(item);/*将数据内容放置到页面上*/

var $lists = $("article ul");var $list = $("

").addClass("news-list").prependTo($lists);var $newsImg = $("

console.log(item.newstype);var $img = $("").attr("src", item.newsimg).appendTo($newsImg);var $newsContent = $("

").html(item.newstitle).appendTo($newsContent);var $p = $(" ").addClass("news-time").html(item.newstime).appendTo($p);var $newsSrc = $(" ").addClass("news-src").html(item.newssrc).appendTo($p);

});

},

error:function(){

console.log('error');

}

});

下面看一下getnews.php怎么实现:

if($link){mysql_select_db("testabc");/*连接数据库*/

mysql_query("SET NAMES utf8");$newstype=$_GET["newstype"];/*获取参数newstype*/

if($newstype == "all"){$sql = "SELECT * FROM news"; /*传递命令行,表示获取全部的表项*/}else{$sql = "SELECT * FROM `news` WHERE `newstype` = '{$newstype}'"; /*传递命令行,表示获取所有newstype等于传递的参数的表项*/}$result = mysql_query($sql,$link);$senddata = array();while($row = mysql_fetch_assoc($result)){array_push($senddata,array('id'=>$row['id'],

'newstype'=>$row['newstype'],

'newsimg'=>$row['newsimg'],

'newstime'=>$row['newstime'],

'newssrc'=>$row['newssrc'],

'newstitle'=>$row['newstitle']

));

}echo json_encode($senddata);

}mysql_close($link);?>

2.向数据库写入数据:

js代码://添加一条数据

$("#btnsubmit").click(function(e) {

e.preventDefault();//提交添加

var jsonNews ={"newstitle": $("#newsTitle").val(),/*从页面读取到的值*/

"newstype": $("#newsType").val(),"newsimg": $("#newsImg").val(),"newstime": $("#newsTime").val(),"newssrc": $("#newsSrc").val()

}

$.ajax({

url:"server/insert.php",

type:"post",/*ajax post方法提交*/data:jsonNews,

datatype:"json",

success:function(data){

console.log(data);

},

error:function(XHR,textStatus,errorThrown){

console.log(textStatus+"ready:"+XHR.readyState);

}

})

});

php代码:

因为我们需要很多次调用php代码连接数据库,以后需要改动库名或者用户名等会很不方便,所以我们把连接数据库的操作单独提到一个文件中,比如命名为db.php:

//db.php

$link = mysql_connect('localhost','name','pwd');if(!$link){echo json_encode(array('linkmsg'=>'false'));

}else{mysql_select_db("testabc");mysql_query("SET NAMES utf8");

}?>

然后在其他php文件中直接调用这个文件:

//insert.php

$newstitle = addslashes(htmlspecialchars($_POST["newstitle"]));$newstype = $_POST["newstype"];$newsimg = $_POST["newsimg"];$newstime = $_POST["newstime"];$newssrc = $_POST["newssrc"];$sql = "INSERT INTO `news` (`newstitle`,`newstype`,`newsimg`,`newstime`,`newssrc`) VALUES ('{$newstitle}','{$newstype}','{$newsimg}','{$newstime}','{$newssrc}')";$result = mysql_query($sql,$link);echo json_encode(array("success"=>"ok"));

}mysql_close($link);?>

3.删除一条数据:

//js代码删除一条数据

var deleteId = null;

$newsTbody.on("click",".btn-danger",function(e){

$("#deleteModal").modal("show");/*模态框提示是否确认删除*/deleteId= $(this).parent().prevAll().eq(4).html();/*获取需要删除的数据的id*/console.log(deleteId);

})

$("#deleteModal #confirmDelete").click(function(e){if(deleteId){

$.ajax({

url:"server/delete.php",

type:"post",/*post方法提交请求*/data:{"newsid":deleteId},

success:function(data){

console.log("delete success");

$("#deleteModal").modal("hide");

refreshNews();

}

})

}

});

对应的php:

//delete.php

$sql = "DELETE FROM `news` WHERE `news`.`id`={$newsid}";/*组装删除命令*/

$result = mysql_query($sql,$link);echo json_encode(array("delete"=>"success"));

}mysql_close($link);?>

4.修改一条数据:

//js代码修改新闻

var updateId = null;

$newsTbody.on("click",".btn-primary",function(e){

$("#updateModal").modal("show");/*弹出模态框来给用户修改*/updateId= $(this).parent().prevAll().eq(4).html();/*获取修改的数据id*/$.ajax({

url:"server/curnews.php",

type:"get",/*get方法获取本条数据显示在模态框*/datatype:"json",

data:{"newsid":updateId},

success:function(data){

$("#unewsTitle").val(data[0].newstitle);

$("#unewsType").val(data[0].newstype);

$("#unewsImg").val(data[0].newsimg);

$("#unewsSrc").val(data[0].newssrc);var utime = data[0].newstime.split(' ')[0];

$("#unewsTime").val(utime);

}

})

})

$("#updateModal #confirmUpdate").click(function(e){

$.ajax({

url:"server/update.php",

type:"post",/*post方法将修改后的数据传回php*/data:{"newstitle":$("#unewsTitle").val(),"newstype":$("#unewsType").val(),"newsimg":$("#unewsImg").val(),"newstime":$("#unewsTime").val(),"newssrc":$("#unewsSrc").val(),"id":updateId

},

success:function(data){

$("#updateModal").modal("hide");

refreshNews();

}

})

});

//curnews.php

$sql = "SELECT * FROM `news` WHERE `id`={$newsid}";$result = mysql_query($sql,$link);$senddata = array();while($row = mysql_fetch_assoc($result)){array_push($senddata,array('id'=>$row['id'],

'newstype'=>$row['newstype'],

'newsimg'=>$row['newsimg'],

'newstime'=>$row['newstime'],

'newssrc'=>$row['newssrc'],

'newstitle'=>htmlspecialchars_decode($row['newstitle'])

));

}echo json_encode($senddata);

}mysql_close($link);?>

//update.php

$newstitle = addslashes(htmlspecialchars($_POST["newstitle"]));$newstype = $_POST["newstype"];$newsimg = $_POST["newsimg"];$newstime = $_POST["newstime"];$newssrc = $_POST["newssrc"];$newsid = $_POST['id'];$sql = "UPDATE `news` SET `newstitle`='{$newstitle}',`newstype`='{$newstype}',`newsimg`='{$newsimg}',`newstime`='{$newstime}',`newssrc`='{$newssrc}' WHERE `id`={$newsid}";$result = mysql_query($sql,$link);echo json_encode(array("success"=>"ok"));

}mysql_close($link);?>

以上就是php+mysql数据库的增删查改方案。

附几张页面参考,利用bootstrap完成:

增加:

18573b5b33e1db7f9a0b86effa37c358.png

删除:

20fe4d082f6ff501202304e7530a2622.png

修改:

ccefcb4e6bfdd804b45c1bac39fbc7be.png

endding~

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值