前言:
前邊介紹了查詢數據庫的方法,這里介紹下往數據庫中添加數據的方法。
項目需求:
用戶在前端頁面輸入的用戶名和手機號碼,點擊提交后后端判斷手機號碼是否已經存在。如果不存在,那么插入數據庫到數據庫,,並將插入結果(時候插入成功)返回前段頁面。
需求分析:
1. 創建一個html頁面用來輸入用戶名和手機號碼,創建一個php頁面處理數據;
2. html頁面中編寫提交數據的js腳本,使用ajax提交數據到php頁面;
3. php腳本接收html頁面提交的數據,查詢數據庫中是否已經存在手機號碼;
4. 如果數據庫中已經存在手機號碼,返回插入失敗信息;
5. 如果數據庫中沒有存在將要添加的手機號碼,那么將用戶名、手機號碼等數據插入數據庫,並返回添加數據成功的信息。
示例代碼:
前端html頁面中ajax請求的示例代碼:
1 function submit_result() { 2 $.post( 3 "Controllers/ajaxController.php", 4 { 5 "name": $("#name").val(), 6 "mobile": $("#mobile").val(), 7 "score": $("#sp_score").html() 8 }, 9 function(msg) { 10 if (msg == "0") { 11 layer.open({ 12 content: '您已參與過該活動,下次再參與哦!', 13 btn: ['知道了'] 14 }); 15 } else { 16 layer.open({ 17 content: '恭喜您,獲得了,'+msg, 18 btn: ['知道了'], 19 end:function(){ 20 location.href="index.html"; 21 } 22 }); 23 } 24 } 25 );
后端php頁面:
1 <? 2 //1. 聲明字符編碼 3 header("Content-Type:text/html;charset=utf8"); 4 5 //2. 連接數據庫 6 $link=mysql_connect("localhost","root","root");//連接數據庫 7 if(!$link) echo "系統異常,請稍后再試";//如果連接數據庫失敗 8 mysql_select_db("test", $link); //選擇數據庫 9 mysql_query("set names 'utf8'"); // 解決中文亂碼 10 11 //3. 獲取數據 12 $name = $_POST["name"]; 13 $phone = $_POST["mobile"]; 14 $score=$_POST["score"]; 15 16 //4. 查詢手機號碼是否存 17 $strsql = "select phoneNumber from user_info where phoneNumber='$phone'"; 18 mysql_query("SET NAMES utf8"); 19 $result=@mysql_query($strsql);//執行查詢 20 $row=mysql_fetch_array($result);//獲取數據行 21 22 //5. 根據是否返回數據行,如果數據行為空,即已參與活動,否則返回獲得獎勵等級 23 if(!empty($row)){ 24 //5.1 數據行不為空,返回0 25 echo 0; 26 }else{ 27 //5.2 數據行為空,手機號碼沒有參與活動,插入數據到數據庫 28 $strsql = "insert into user_info(userId,userName,phoneNumber,userScore,dataTime) values(null,'$name','$phone','$score',now())"; 29 $result = @mysql_query($strsql); 30 31 //5.3. 成功添加 32 if($result) 33 { 34 if($score>=100) echo "一等獎"; 35 if($score<100&&$score>=60) echo "二等獎"; 36 if($score<60) echo "三等獎"; 37 exit; 38 } 39 } 40 41 42 ?>
