1

ユーザーが個人情報を入力する会社の Web サイト用のフォームを作成しました。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 に答える