gpt4 book ai didi

php - 使用php从数据库访问数据并将数据输出到HTML

转载 作者:行者123 更新时间:2023-11-29 19:13:29 28 4
gpt4 key购买 nike

我正在创建一个博客,我需要创建一个从数据库检索数据的 php 文件(我已经完成了)。然后这个 php 文件将数据输出到 html(我需要帮助)。 php 和 html 必须是单独的文件。

这两个文件是: -index.php:重定向到index.html以显示博客条目。 -index.html:显示条目文件中存储的博客条目,如果没有条目,则将用户重定向到login.html。

php 文件上的 echo 将数据库中的数据输出到 index.php 上,这是我不想要的。我想以某种方式将数据从数据库导出到index.html。

我是编码新手,所以请原谅糟糕的编码。

提前致谢。

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "addentry";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, title, content, date FROM posts";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
header('location: index.html');

echo " " . $row["date"]. "<br>";
echo " " . $row["title"]."<br>";
echo " ". $row["content"];
}
}
else {
echo "0 results";
}
$conn->close();
?>
<小时/>
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- image.html
A trivial document
-->
<html xmlns = "http://www.w3.org/1999/xhtml">


<head><title> My Blog </title>

<style type ="text/css">

body{

position: fixed;
overflow:overlay;
width: 100%;
top: -20px;
left: -20px;
right: -40px;
bottom: -40px;


height: auto;
background-image:url(image.jpg);
background-size: cover;



}
.container{

background-color: #ecdad6;
padding: 30px;
width:920px;
margin-left: 25%;
padding-bottom:1000px;
padding-left:0px;
border: 2px solid black;
}

.links{
position: absolute;

padding-right: 135px;
padding-bottom: 800px;
margin-left: 680px;
margin-right: 100px;
font-size: 20px;
word-wrap: break-word;
top:-3px;


}


.blog{
position: absolute;
width:678px;
padding-bottom: 920px;
margin-left: 10px;
font-size: 20px;
text-align: left;
word-wrap: break-word;

}
ul li { margin-top: -10px; }

}

}
</style>
<body>

<!--Logo & hyperlinked -->
<p align = "center"><a href="index.html"><img src = "Logo.jpg" alt="My logo" width="10%" height="10%"/></a></p>
<br/>
<hr width="50%">

<div class="container">
<div class="blog">
<form action='index.php' method='get'></form>
<div class="links">
<a href="index.html"> <ul><li>home</li></ul></a>
<a href="login.html"> <ul><li>logIn</li></ul></a>
<a href="entry.html"> <ul><li>add_entry</li></ul></a>
</div>
</div>

</div>

</body>
</html>

<!-- end snippet -->

最佳答案

您需要 php 来访问数据,以便在页面上显示结果。 HTML 不是动态语言,无法单独完成此操作。实现您所要求的一种方法是让 php 解析器解释 .html 文件,尽管我不确定这确实是您所追求的,但以防万一,请参阅以下链接:

Using .htaccess to make all .html pages to run as .php files?

这假设您使用 apache 作为 Web 服务器。 IIS 也有类似的功能。有关更多详细信息,请参阅您的网络服务器文档。

您的另一个选择是使用 AJAX (javascript) 和远程 PHP 脚本将动态内容加载到您的页面中。看看http://www.w3resource.com/ajax/working-with-PHP-and-MySQL.php

您可能还想看看:https://www.w3schools.com/howto/howto_html_include.asp该页面上的某些内容可能也可以帮助您。

虽然您没有指定为什么需要从index.php重定向到index.html,但我强烈建议您只使用index.php或index.html运行。

根据您帖子中的信息可以确定两者的需求为零。

您可以使用 php 打印您需要的所有 html。

请参阅以下示例:

创建 header.php

<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- image.html
A trivial document
-->
<html xmlns = "http://www.w3.org/1999/xhtml">


<head><title> My Blog </title>

<style type ="text/css">

body{

position: fixed;
overflow:overlay;
width: 100%;
top: -20px;
left: -20px;
right: -40px;
bottom: -40px;


height: auto;
background-image:url(image.jpg);
background-size: cover;



}
.container{

background-color: #ecdad6;
padding: 30px;
width:920px;
margin-left: 25%;
padding-bottom:1000px;
padding-left:0px;
border: 2px solid black;
}

.links{
position: absolute;

padding-right: 135px;
padding-bottom: 800px;
margin-left: 680px;
margin-right: 100px;
font-size: 20px;
word-wrap: break-word;
top:-3px;


}


.blog{
position: absolute;
width:678px;
padding-bottom: 920px;
margin-left: 10px;
font-size: 20px;
text-align: left;
word-wrap: break-word;

}
ul li { margin-top: -10px; }

}

}
</style>
<body>

<!--Logo & hyperlinked -->
<p align = "center"><a href="index.html"><img src = "Logo.jpg" alt="My logo" width="10%" height="10%"/></a></p>
<br/>
<hr width="50%">

<div class="container">
<div class="blog">
<form action='index.php' method='get'></form>
<div class="links">
<a href="index.html"> <ul><li>home</li></ul></a>
<a href="login.html"> <ul><li>logIn</li></ul></a>
<a href="entry.html"> <ul><li>add_entry</li></ul></a>
</div>
</div>

创建footer.php

        </div>

</body>
</html>

<!-- end snippet -->

修改您的index.php文件,如下所示:

<?php

include("header.php");

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "addentry";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, title, content, date FROM posts";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
header('location: index.html');

echo " " . $row["date"]. "<br>";
echo " " . $row["title"]."<br>";
echo " ". $row["content"];
}
}
else {
echo "0 results";
}
$conn->close();

include("footer.php);
?>

现在你只需调用你的index.php文件,html页眉和页脚就包含在php文件中。

关于php - 使用php从数据库访问数据并将数据输出到HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42894044/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com