PHP流程动态表单

时间:2013-07-02 06:20:06

标签: php html forms dynamic

我正在为我的工作场所创建一个表单,它将产品序列号输入到mySQL数据库中。

您可以在此处查看当前的工作示例: http://jsfiddle.net/bELWq/

目前我的问题是处理这个表单,目前我有一个简单回显所有输入信息的PHP脚本:

<?php
    $supplier = $_POST['supplier'];
    $date_inv = $_POST['date-inv'];
    $date_rec = $_POST['date'];
    $user = $_POST['user'];
    $product = $_POST['product'];
    $qty = $_POST['qty'];
    $serial = $_POST['serial'];

    foreach ($product as $p) {
        echo "$p<br />";
}    

    foreach ($qty as $q) {
        echo "$q<br />";
}

    foreach ($serial as $s) {
        echo "$s<br />";
}

    echo $supplier;
    echo $date_inv;
    echo $user;
    echo $date_rec;
?>

但问题是,它回应了每一个产品,然后是所有的数量,那么所有的序列号都没有真正区分属于哪里。

现在,我已经不停地为如何做到这一点而绞尽脑汁,因为我不是最有逻辑意识的人,所以它开始让我的大脑受伤。

非常感谢有关如何处理此问题的任何建议。或者,如果您能想出更好的方法来发送信息,那也会很好。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

    foreach ($serial as $key => $s) {
    echo "$s<br />";
    echo $serial[$key];
    echo $qty[$key];
    }

答案 1 :(得分:1)

您可以将数据添加到表格中。

<?
echo '<table>
    <tr>
        <th>Product</th>
        <th>Quantity</th>
        <th>Serials</th>
    </tr>';

foreach ($product as $i => $p) {
    $serial_cell = array();
    foreach($serial[$i] as $si => $sv){
        $serial_cell[] =$sv;
    }
    echo '
    <tr>
        <td>'.$product[$i].'</td>
        <td>'.$qty[$i].'</td>
        <td>'.implode('<br>',$serial_cell).'</td>
    </tr>';
}
echo '
    <tr>
        <td>Supplier:</td>
        <td colspan="2">'.$supplier.'</td>
    </tr>
    <tr>
        <td>Invoice Date:</td>
        <td colspan="2">'.$date_inv.'</td>
    </tr>
    <tr>
        <td>User:</td>
        <td colspan="2">'.$user.'</td>
    </tr>
    <tr>
        <td>Date Received:</td>
        <td colspan="2">'.$date_rec.'</td>
    </tr>';
echo '</table>';