在HTML表格中显示MySQL中的数据

时间:2015-02-14 22:44:29

标签: php

我在这里遇到了一个关于如何将mysql输出到表中的优秀教程http://coursesweb.net/php-mysql/display-data-array-mysql-html-table_t

我搜索了这篇文章,因为我想从1列到3列。一切都很好,除了我想在串联中包含一个文件。我正在尝试执行以下操作:

$html_table .= '<td>';
$html_table .= '' . include('data.php') . '';
$html_table .= '</td>';

然而,这不起作用。例如,如果data.php文件包含一些简单的文本,例如test,我会在屏幕上显示以下内容:

测试测试测试测试测试测试测试测试

1 1 1

1 1 1

1 1 1

非常奇怪的是,如果我做了一点测试,而是输入:

$html_table .= '<td>test</td>';

这绝对没问题,输出如下:

测试测试

测试测试

测试测试

我在这个上下文中查找了有关使用include()的信息,但我什么也没找到。我需要包含文件的原因是因为我试图输出的数据包含大量文本。有人可以建议吗?

1 个答案:

答案 0 :(得分:1)

如果您只想获取文件内容,请使用file_get_contents代替include

data.txt中:

test

在您当前的文件中:

$html_table .= '' . file_get_contents('data.txt') . '';

请注意,文件名已从data.txt更改为data.php以避免混淆,因为它不包含任何PHP代码。

如果你真的打算在data.php中运行一些代码来返回一个字符串,你需要在调用该函数之前将它包装在一个函数中并include该文件:

data.php:

<?php
function getData() {
    return "test";
}
?>

在您当前的文件中:

include('data.php');

$html_table .= '<td>';
$html_table .= '' . getData() . '';
$html_table .= '</td>';

当然,您可能希望删除空字符串连接。

修改

正如您在评论中所说,data.php包含HTML和PHP的混合,您可能希望在运行时使用输出缓冲来获取data.php的输出。

data.php:

This is a mixture of <b>HTML</b> and <?php echo "PHP"; ?> code

在您当前的文件中:

function getIncludeOutput($file) {
    ob_start();
    include $file;
    return ob_get_clean();
}

$html_table .= '<td>';
$html_table .= getIncludeOutput('data.php');
$html_table .= '</td>';

echo $html_table;

输出:

<td>This is a mixture of <b>HTML</b> and PHP code</td>