0

私はphpとmysqlを使用したフォームで複数の製品の追加を行おうとしていますが、これらを実行するという概念について混乱しています。

私の期待する出力は、入力する複数のフィールドの少なくとも10行を含むフォームを提供し、これらの間で検証を実行し、エラーがない場合は挿入に進みます。

これまでのところ、単一フォームの挿入について私が理解していることは次のとおりです。

    $add_errors = array();

//if there is a post request
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

// do some validation
if (empty($_POST['name'])) {
        $add_errors['name'] = 'Please enter the name!';
}

if (empty($_POST['description'])) {
        $add_errors['description'] = 'Please enter the description!';
}

if (empty($add_errors)) { // If everything's OK.
//do the insertion
$q = 'INSERT INTO ........')';
}

}//end of form submission


echo '<form action="product_add.php" enctype="multipart/form-data" method="post" accept-charset="utf-8">';
echo '<input type=..... name=...... id=.....>';
echo '<input type=..... name=...... id=.....>';
echo '<input type=..... name=...... id=.....>';
echo '</form';
//this form is only a single row with multiple column(field) ,I am trying to make it into multiple column
4

1 に答える 1

1

上記のコードを書き直します...ここで書き直します:

<?php
$rows = 10; // rows desired.

//if there is a post request
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

    while($i < $rows){
        if (empty($_POST['description'.$i])) {
        $add_errors['description'.$i] = 'Please enter the description!';
        }
        // more error checking if needed...
        ++$i;
    }

    if (empty($add_errors)) { // If everything's OK.
        //do the insertion
        $q = 'INSERT INTO ........')';
    }

}//end of form submission

echo '<form action="product_add.php" enctype="multipart/form-data" method="post" accept-charset="utf-8">';
$i = 0;
while($i < $rows){
    echo '<input type=..... name="description'.$i.'" id=.....>';
    ++$i;
}
echo '</form';
?>

そのようなことを試してみてください...(ここに書いたばかりでテストしなかったので、コードに1つか2つのエラーがあるかもしれません)が、それが一般的な考え方です。=)

于 2011-12-03T06:22:19.163 に答える