php - 不使用 echo 查询数据库,生成设计结果

标签 php mysql sql mysqli

现在有件事让我有点头疼。我正在查询数据库,在单击上一页中的链接后检索一些数据。

很容易,我可以在“echo”中使用一些代码。问题出在“echo”中,因为我需要放入 php include 和一般 html/设计代码以用于设计目的。有没有一种方法或方法可以让我编写代码,但稍后再次调用变量,并能够放置其他 php 代码,例如包含?基本上,这会让我必须拥有代码,但然后让我专注于页面的设计方面。

非常感谢任何帮助。

<?php
if(!empty($_GET['book_url']))
{
   $sql = "
SELECT articles.id, articles.order_ref, articles.art_title, articles.art_book, articles.art_url, book.id AS bookid, book.book_name AS book_name, book.book_url AS book_url
FROM articles
LEFT JOIN book ON articles.art_book = book.id
WHERE book_name = \"" .$_GET['book_url'] . "\"
ORDER BY id ASC
";
    // then do the query, etc....
} 

$results = $db->query($sql);

if($results->num_rows) {
    While($row = $results->fetch_object()) {
        echo "

        ////////Show Stuff

        ";
        ?>

最佳答案

您可以将代码和 HTML 分开,将代码放在 <?php ?> 中。然后,在 HTML 中,您可以使用简短的代码片段来打印您在代码部分中所做的工作。像这样(可能有一两个语法错误,我没有 Apache 来测试):

<?php

$name = $_GET['name'];

function stuff() {
    // this would normally be long and complicated
    return "stuff";
}

?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>title</title>
    <link rel="stylesheet" href="stylesheet.css" type="text/css">
  </head>
  <body>
    <!-- try to keep these short  so you can focus on design-->
    <h1>The name is: <?php echo $name; ?></h1>
    <h1>The stuff is: <?php echo stuff(); ?></h1>
  </body>
</html>

或者,您可以使用像 Laravel 这样的框架它将提供一个模板系统。

关于php - 不使用 echo 查询数据库,生成设计结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43192495/

相关文章:

php - Mysql 和 php 数据库连接

php - 如何捕捉 mysqli_connect() 的警告

mysql - 如何在数据库的所有表中插入一行?

mysql - 如何在子查询中获取外列值

sql - 为什么 INTERSECT 和嵌套 JOIN 一样慢?

javascript - 动态改变特定div的颜色

php - 将 csv 文件上传到 mysql 数据库。 upload.php 文件中的错误

php - 奇怪的Mysql查询

php - PHP 和 MySQL 风格切换器

mysql - 避免 "#1060 - Duplicate column name"错误,但仍然使用 SELECT *