Php 输出html的echo语句的最佳实践?
大家好,我有一个应用程序,允许用户在一个空的div上发布内容。我需要一些关于如何使其可扩展的建议,因为我必须确保如果用户发布了大量内容,浏览器不会变慢或崩溃。我是初学者,请容忍我。因此,在下面的代码中,我有一个echo语句,用于打印html内容。我想知道如何使该功能在长期内可扩展?我应该将html设置为变量,然后打印它吗?我应该用JSON编码吗?请给我这样的建议。多谢各位 PHP代码Php 输出html的echo语句的最佳实践?,php,Php,大家好,我有一个应用程序,允许用户在一个空的div上发布内容。我需要一些关于如何使其可扩展的建议,因为我必须确保如果用户发布了大量内容,浏览器不会变慢或崩溃。我是初学者,请容忍我。因此,在下面的代码中,我有一个echo语句,用于打印html内容。我想知道如何使该功能在长期内可扩展?我应该将html设置为变量,然后打印它吗?我应该用JSON编码吗?请给我这样的建议。多谢各位 PHP代码 您是否尝试将数据逻辑和数据显示分开?如果您使用php MVC框架,这将更方便您的情况。 下面是一个简单的例子
您是否尝试将数据逻辑和数据显示分开?如果您使用php MVC框架,这将更方便您的情况。 下面是一个简单的例子
//demo.html code
<?php
include_once("connection.php");
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
//You can use Inner Join to display the matched records in between the two tables
$query = "SELECT * FROM `qpost` A INNER JOIN `user` B ON A.id=B.id ";
$result = $conn->query($query);
if ($result) {
} else {
echo "bitch: " . $conn->error;
}
$time = time();
$data_result = array(); // focus on your data logic process
while ($row = $result->fetch_assoc()) {
if ($time < $row['logged_time'] + 30) {
$data_result[] = $row;
}
}
?>
<?php foreach($data_result as $index => $row) { ?>
<div class='row'>
<div class='col-md-8'>
<div id='thePost' class='panel panel-default'>
<div class='panel-heading'>
<h3 class='panel-title'><span class='glyphicon glyphicon-user'> <b><?php echo $row['username']?></b></span>
      <span class='glyphicon glyphicon-time'></span> Posted_on: <?php echo $row['time']?>
</h3>
</div>
<div class='panel-body' style='word-break:break-all'>
<h4><?php echo $row['question']?></h4>
<p> <?php echo $row['description']?></p>
</div>
<div class='panel-footer'>
<button class='btn btn-primary'>Request Connection</button>
<button class='btn btn-success'>Chat <span class='glyphicon glyphicon-comment'></button>
</div>
</div>
</div>
</div>
<?php } ?>
//demo.html代码
张贴在:
请求连接
聊天
你做的很好。
然而,正如Eric所说,您可以退出并重新进入PHP
您可以将html存储在一个文件中,使用file\u get\u contents获取它,然后使用sprintf对其进行操作
在名为“row.html”的文件中
%
发布时间:%s
%
%s
请求连接
聊天
然后在PHP中。。。。
我个人喜欢我的语言之间尽可能多的抽象:)
祝你好运 用PHP回显HTML的一种方法是使用
herdoc语法
< /代码>而不是回响,我倾向于进入HTML模式,使用<代码> .html到ECHO是的,考虑EICS提示,并且当在字符串中包含变量时,像这样做“一些文本”。$VALUTE。“还有一些”。当关闭html的php标记(如Eric建议的)时,只需使用或缩写:。你所说的可伸缩性是什么意思?不管里面有多少文本,div都会调整。
<div class='row'>
<div class='col-md-8'>
<div id='thePost' class='panel panel-default'>
<div class='panel-heading'>
<h3 class='panel-title'>
<span class='glyphicon glyphicon-user'>
<b>%s</b> <!-- username -->
</span>      
<span class='glyphicon glyphicon-time'>
Posted_on: %s <!-- time -->
</span>
</h3>
</div>
<div class='panel-body' style='word-break:break-all'>
<h4>%s</h4> <!-- question -->
<p> %s</p> <!-- description -->
</div>
<div class='panel-footer'>
<button class='btn btn-primary'>Request Connection</button>
<button class='btn btn-success'>Chat <span class='glyphicon glyphicon-comment'></button>
</div>
</div>
</div>
</div>
<?php
while($row = $result->fetch_assoc()) {
$time = time();
if( $time < $row['logged_time'] + 30) {
$rowHtml = file_get_contents('row.html');
echo sprintf($rowHtml,
$row['username'],
$row['time'],
$row['question'],
$row['description']);
}
}
?>
<?php
$name = 'MyName';
echo <<<MYHTML
<p>
My name is <b>"$name"</b>.
</p>
MYHTML;
?>