此博客鏈接:https://www.cnblogs.com/ping2yingshi/p/13340369.html
通過Get方法獲取php文件
通過Get方法給php參數,讀取php文件
舉例
在html中給金字塔層數,讀取php文件中的金字塔層數
要求
給不同的參數,使金字塔輸出不同的層數
html代碼
通過標簽跳轉到php文件地址處,給Get中的num數字賦值,讀取php代碼。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Demo</title> </head> <body> <p><a href="金字塔.php?num=1" >這是一個php文件鏈接</a></p> <p><a href="金字塔.php?num=2" >這是一個php文件鏈接</a></p> <p><a href="金字塔.php?num=3" >這是一個php文件鏈接</a></p> <p><a href="金字塔.php?num=4" >這是一個php文件鏈接</a></p> <p><a href="金字塔.php?num=5" >這是一個php文件鏈接</a></p> <script type="text/javascript" src="金字塔.php?num=1"></script> --> </body> </html>
php文件代碼
<?php //$num: 金字塔的層數 $num = $_GET["num"]; for($i = 0; $i < $num; $i++) { for($j = 0; $j <= $i; $j++) { echo " * "; } echo "<br>"; } ?>
結果
會顯示五個鏈接,每個鏈接中給的num不同,顯示的金字塔的層數也不同。
點擊第二個鏈接,金字塔顯示2層。
通過 get接口讀取php
舉例1
html調用php文件數據庫中的內容
要求
每隔10秒讀取數據庫中的內容一次
html內容
1.使用setInterval(參數1,參數2)計時器,使程序每隔10秒讀取一次php文件
備注:參數是一個函數,參數2是定義的計時時間。
2.使用jquery獲取php
$("#myID").load("./phpMysql.php");
完整代碼如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js"></script>//導入 <p> <div id="myID"></div> <span id="count"></span> <script> var count = 0 var countDom = document.getElementById('count'); setInterval(function(){updateTime()},1000) function updateTime()//判斷是否到達10秒 { if(count>=10){ $("#myID").load("./phpMysql.php"); count=0; }else{ countDom.innerText = ++count } } </script> </p> </body> </html>
php文件
<?php $mysql_server_name = 'localhost'; //改成自己的mysql數據庫服務器 $mysql_username = 'root'; //改成自己的mysql數據庫用戶名 $mysql_password = 'root'; //改成自己的mysql數據庫密碼 $mysql_database = 'mysql'; //改成自己的mysql數據庫名 //創建連接 $conn=mysqli_connect($mysql_server_name, $mysql_username, $mysql_password, $mysql_database); //連接數據庫錯誤提示 if (mysqli_connect_errno($conn)) { die("連接 MySQL 失敗: " . mysqli_connect_error()); } //查詢代碼 $sql = "select * from phpMysql"; $query = mysqli_query($conn,$sql); while($row = mysqli_fetch_array($query)){ echo $row['name']; echo "<br />"; } //關閉MySQL數據庫連接 mysqli_close($conn); ?>
結果
舉例2
通過html讀取php中的音頻
要求
在html中獲取php返回的json數據
html內容
1.使用ajax get請求網絡連接,判斷網絡連接狀態readyState == 4 ,表示成功返回數據(這里是模板,用就可以了)
// get請求
function ajaxGet({ url, params, success, fail }) {
var params = params || {}
var xhr = new XMLHttpRequest()
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) { //返回狀態碼200成功
success && success(xhr.response) //成功回調
} else {
fail && fail(xhr.response) //失敗回調
}
}
};
xhr.onerror = function (err) {
fail && fail(err) //網絡出錯回調
}
xhr.open('get', url + '?' + toQuery(params)) //建立get請求並傳遞參數
xhr.send() //發送請求
}
2.獲取query參數
獲取地址欄中query字符串並轉碼后返回js對象
// 獲取query參數 function getQueryString() { var url = location.search; //獲取url中"?"符后的字串 var query = {}; if (url.indexOf("?") != -1) { var strs = url.substr(1); strs = strs.split("&"); var length = strs.length var temp for (var i = 0; i < length; i++) { temp = strs[i].split("=") query[temp[0]] = decodeURIComponent(temp[1]); } } return query; }
3.js對象轉query參數
將js對象轉為“&”分割的鍵值對,並對值進行轉碼后返回query字符串
// 對象轉query參數 function toQuery(obj) { obj = obj || {} var s = [] for (var key in obj) { s.push([key, encodeURIComponent(obj[key])].join('=')) } return s.join('&') }