如何使用PHP和mysql生成具有静态内容的基本HTML页面?

时间:2018-09-08 16:21:46

标签: php html mysql qr-code

我最近开始用PHP为特定项目编写代码。我正在使用 PHPQRCode 库从MYSQL中创建的示例数据库生成QR码。我正在机器上托管的XAMPP服务器上运行所有这些程序。

我的数据库中的示例条目如下:enter image description here

我还将张贴到目前为止已编写的代码的片段。此代码从数据库中获取数据,并将其转换为QRCode。注释已添加到必填行。

<?php
include "phpqrcode/qrlib.php";
// This library helps in generating QR Code 
// db_name is quickcodedatabase
define("DB_SERVER", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "quickcodedatabase");

$connect = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE);

//actual sql query
$sql = "SELECT * FROM quickcodetable";
$result = $connect->query($sql);
$count = 1;
// count is used here to generate sequential names for output image files.
if ($result->num_rows > 0)
{
    // output data of each row
    while ($row = $result->fetch_assoc())
    {
        $rowdata = "Name: " . $row["s_name"] . " Address = " . $row["s_address"] . " Amount = " . $row["amount"];

        echo nl2br($rowdata . "\n");

        $file_name = "test_mid" . $count . ".png";
        $count++;
        //count is used to generate sequential file names
        QRcode::png($rowdata, $file_name);

        echo nl2br("<img src='../$file_name'>" . "\n");

    }
}
else
{
    echo "No results";
}

mysqli_close($connect);

?>

运行上面的代码后,我得到的输出是:

enter image description here

现在我要实现的是在单独的HTML文件中获取(或导出)每个QR及其关联的数据。因此,在我的情况下,运行代码后,我将拥有三个新创建的HTML文件。

由于我是PHP的新手,所以我不知道该怎么做。我查看了此处发布的一些相关问题,但其中大多数可能涉及我完全不了解的一些COM对象的使用。只要我得到与在单独的HTML页面上导出的每个数据库条目相关的详细信息以及相应的QR码,我就不必关心输出页面上的格式。

在这方面的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

<?php
if($_SERVER["REQUEST_METHOD"] == "POST"){
$n = $_POST['n'];
$p = $_POST['p'];
$con = mysqli_connect("localhost","mysql username","mysql password","database name");
    if($con->query("insert into users(name,password)values('$n','$p')")){
header("location:index.php");
}
}
?>
<form method="post" action="file.php">
<input type="text" name="n" placeholder="Name"/>
<input type="password" name="p"  placeholder="Password"/>
<input type="submit" value="add"/>
</form>

答案 1 :(得分:-1)

按如下所示稍微更改这段代码。每次迭代时,它将带有qr代码图像的html文本保存到html文件中,名称为“ test_mid”。 $ count。 “ .html”

 while ($row = $result->fetch_assoc())
{
    $rowdata = "Name: " . $row["s_name"] . " Address = " . $row["s_address"] . " Amount = " . $row["amount"];

    $rowdata=nl2br($rowdata . "\n");

    $file_name = "test_mid" . $count . ".png";
    $count++;
    //count is used to generate sequential file names
    QRcode::png($rowdata, $file_name);

    $rowdata.=nl2br("<img src='../$file_name'>" . "\n");
    file_put_contents("test_mid" . $count . ".html",$rowdata);

}