2009-06-16 12 views
0

私は既存のcsvファイル(これをテンプレートと呼ぶ)を使用してページで開き、編集可能なテキストフィールドに一度ユーザーの望むように編集したデータは、テンプレートとは別の1つの結合されたcsvファイルに保存することができます。フォームインスタンスの数を動的に設定し、PHPを使用してすべてをcsvとして保存

私はこれを動作させるために必要な図のリンクを含んでいます。私はcsvを開くことができます、私は編集してcsvを保存することができますが、私はどのように動的にユーザーが必要なクローンの数を取ると、テンプレートをレンダリングする方法を知っていない多くの回ユーザーが完了すると、単一のcsvの行として保存し、新しいファイルに保存します。

Diagram Link

赤色で強調表示された領域は、で問題を有する領域IMです。

テンプレートには約25個のフィールドが含まれているため、テンプレートの各インスタンス(クローン)には25個の編集可能なフィールドがあり、元のデータで埋められます。私はこれを自分で行うことができると確信していますが、元のテンプレートのクローン数を動的に設定する方法については適切な方向に指摘しておき、一度終了したCSVファイルの行としてクローンを組み合わせる必要があります。

答えて

0

あなたは配列としてあなたのフィールドに名前を付けることができます、サーバー側で次に$_POST['field1']意志を

<input type='hidden' name='rowcount' value='50'> 
<input type='hidden' name='fieldcount' value='25'> 

<input type='text' name='field1[]'> 
<input type='text' name='field2[]'> 
... 
<input type='text' name='field25[]'> 

次に、あなたが持っているとあなたが持っているどのように多くの行をどのように多くの分野を追跡します

$fields = $_POST['fieldcount']; 
$rows = $_POST['rowcount']; 

$csv = array(); 
for($y = 0; $y < $rows; $y++) { 
    $row = array(); 
    for($x = 0; $x < $count; $x++) { 
     $row[$x] = $_POST['field' . ++$x]; 
    } 
    $csv[] = $row; 
} 
// use fputcsv here. 

これは概算ですが、私はそこからt ...

0

私はあなたがしようとしていることを完全に誤解しているかもしれませんが、推測するつもりです。

ユーザーが選択したクローンの数を取得し、編集可能なフォームをループします。フォーム/フィールドの名前として配列を使用します。

<?php foreach(range(1, NUMBER_OF_CLONES) as $clone_number): ?> 
<form name="form[<?= $clone_number ?>]"> 
<input type="text" name="form[<?= $clone_number ?>]['name']"> 
</form> 
<?php endif; ?> 

これはNUMBER_OF_CLONESフォームを表示します。

NUMBER_OF_FORMS個の項目(フォーム)を持つ$ _POST ['form']配列を1つのファイルにまとめて保存し、csvを作成します。

あなたのポイントが完全に不足している場合はごめんなさい

関連する問題