我正在爲班級分配任務,我們必須創建一個動態網站。我們必須用HTML創建所有容器,然後將所有內容加載到MySQL DB上,然後使用Javascript讀取從MySQL收集內容的PHP文件。使用Javascript調用從MySQL數據庫讀取網站內容的PHP文件
我設法讓它從數據庫中拉出一個列表並顯示在我的網站上,但現在我堅持如何讓它讀取頁面的其他部分並將它們拉入html。
這裏是PHP我到目前爲止:
$con=mysqli_connect("localhost","Username","password",'DBname');
if (mysqli_connect_errno()){
die("Error: " . mysqli_connect_error());
}
$result = mysqli_query($con,"SELECT * FROM HomeList");
echo "<ul>";
while($row = mysqli_fetch_array($result)){
echo "<li>".$row['ListItem']."</li>";
}
echo "</ul>";
mysqli_close($conn);
?>
這裏是我的javascript:
function getOutput() {
getRequest(
'php/getinfo.php',
drawOutput,
drawError
);
return false;
}
// handles drawing an error message
function drawError() {
var container = document.getElementById('id');
container.innerHTML = 'Error has occurred';
}
// handles the response, adds the html
function drawOutput(responseText) {
var container = document.getElementById('id');
container.innerHTML = responseText;
}
// helper function for cross-browser request object
function getRequest(url, success, error) {
var req = false;
try{
// most browsers
req = new XMLHttpRequest();
} catch (e){
// IE
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
// try an older version
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
return false;
}
}
}
if (!req) return false;
if (typeof success != 'function') success = function() {};
if (typeof error!= 'function') error = function() {};
req.onreadystatechange = function(){
if(req .readyState == 4){
return req.status === 200 ?
success(req.responseText) : error(req.status)
;
}
}
req.open("GET", url, true);
req.send(null);
return req;
}
我想重用的代碼量可能的,但對於從數據庫中拉內容而不必擁有多個JS和PHP文件。而且我們嚴格遵守不使用插件或Bootstrap的命令。
任何幫助將是偉大的! 謝謝!
聽起來像你需要更多的功能,創建XMLHttpRequest實例拉動不同的事情。或者,如果您想要立即返回各種部分,請返回JSON並將其全部解析爲一個Ajax請求。 – developerwjk