1

我为公司网站制作了一个表格,用户将使用个人信息填充该表格。我想使用 php 来处理这些值,然后将它们呈现为可以打印的表格。我之前已经这样做了,但仅适用于填写所有内容的表单。如果用户决定将字段留空,那么您将不会在 php 呈现的页面中看到它。我将在下面发布一个小示例以供参考以帮助解决我的问题,截至目前我不知道从哪里开始。

示例表格...

<form action="post">
    <p><input type="text" id="name" name="name"></p>
    <p><input type="text" id="phone" name="phone"></p>
    <p><input type="text" id="job" name="job"></p>
</form>

在这个示例表单中,我正在收集姓名、电话号码和职业。在底部我会有一个按钮来提交信息。然后,一个 php 文档将处理这些值并将它们呈现在这样设置的表中......(假设我 $_POST 该表上方的变量。)

'<table>
    <tr>
        <td>Name:' .$name. '</td>
        <td>Phone:' .$phone. '</td>
        <td>Job:' .$job. '</td>
    </tr>
</table>'

这很好用,但是如果客户决定不给那里电话号码,它看起来像这样......

姓名:亚历克斯

电话:

工作:消防员

我需要做的是,如果他们确实填写了电话号码,它将显示它,但是如果他们不需要,我需要它看起来像这样......

姓名:亚历克斯

工作:消防员

我的实际表格很长,但是我认为这个示例足以让某人帮助我入门,在此先感谢您的反馈。

4

3 回答 3

2

遍历 $_POST 数组并在它有值时打印出一个键值。

foreach($_POST as $key=>$value)
{
    if($value != '')
    {
        echo ucwords($key) . ': ' . $value;
    }
}

或者

使用表格格式

// Just set the table up as necessary
echo '<table><tr>';
foreach($_POST as $key=>$value)
{
    if($value != '')
    {
        echo '<td>' . ucwords($key) . ': </td><td>' . $value . '</td>;
    }
}
echo '</tr></table>';
于 2013-05-03T13:11:36.553 回答
1

像这样的东西,基于你的字符串。

$table = '<table>
<tr>';
if (!empty($name)) {
    $table .= '<td>Name:' .$name. '</td>';
}
if (!empty($phone)) {
    $table .= '<td>Phone:' .$phone. '</td>';
}
if (!empty($job)) {
    $table .= '<td>Job:' .$job. '</td>';
}
$table .= '</tr>
</table>';

echo $table;
于 2013-05-03T13:08:38.400 回答
1

答案是使用emptyPHP 的函数。在处理 PHP 文件中试试这个:

echo "<table><tr>";
if(!empty($name)) echo "<td>Name: $name</td>";
if(!empty($phone)) echo "<td>Phone: $phone</td>";
if(!empty($job)) echo "<td>Job: $job</td>";
echo "</tr></table>";
于 2013-05-03T13:09:16.103 回答