2011-09-15 9 views
0

私は、さまざまなビーチからさまざまな砂のサンプルを収集し、そのフォームを埋めるサンプラーのためのフォームを用意しています。それぞれの場所について、彼はそれらの記入項目を記入しなければならない。私は今、私は、これは1つのレコードだけであるということであるのを探しています何データベースにクローニングテーブルの値を保存する方法

<table width="990" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
     <td>Station Number</td> 
     <td><input type="text" name="station_number" size="4"></td> 
     <td>Evidence of Runoff</td> 
     <td><input type="radio" name="evidence_runoff" value="No">No 
      <input type="radio" name="evidence_runoff" value="Yes">Yes</td> 
     <td># People</td> 
     <td>Beach 
      <select name="people_beach"> 
       <option value="0">0</option> 
       <?php for ($b = 1; $b <= 50; $b++) { 
        ?> 
        <option value="<?php echo $b; ?>"><?php echo $b; ?></option> 
       <?php } 
       ?> 
      </select></td> 
    </tr> 
    <tr> 
     <td>Location</td> 
     <td><select name="location" > 
       <?php while ($row_location = mysql_fetch_assoc($rs_location)) { 
        ?> 
        <option value="<?php echo $row_location['NAME']; ?>"><?php echo $row_location['NAME']; ?></option> 
       <?php } ?> 
      </select></td> 
     <td>Beach Vegetation</td> 
     <td><input type="radio" name="beach_vegetation" value="No"> 
      No 
      <input type="radio" name="beach_vegetation" value="Yes"> 
      Yes</td> 
     <td>&nbsp;</td> 
     <td>Water 
      <select name="people_water"> 
       <option value="0">0</option> 
       <?php for ($b = 1; $b <= 50; $b++) { 
        ?> 
        <option value="<?php echo $b; ?>"><?php echo $b; ?></option> 
       <?php } 
       ?> 
      </select></td> 
    </tr> 
    <tr> 
     <td>Time Taken</td> 
     <td><select name="hours"> 
       <option value="">Hour</option> 
       <?php 
       for ($x = 1; $x <= 12; $x++) { 
        if (substr($x, 1, 1) == "") { 
         $x = "0" . $x; 
        } 
        ?> 
        <option value="<?php echo $x; ?>"><?php echo $x; ?></option> 
       <?php } ?> 
      </select> 
      <select name="minutes"> 
       <option value="">Minutes</option> 
       <?php 
       for ($x = 0; $x <= 59; $x++) { 
        if (substr($x, 1, 1) == "") { 
         $x = "0" . $x; 
        } 
        ?> 
        <option value="<?php echo $x; ?>"><?php echo $x; ?></option> 
       <?php } ?> 
      </select></td> 
     <td>Beach Debris</td> 
     <td><input type="radio" name="beach_debris" value="No"> 
      No 
      <input type="radio" name="beach_debris" value="Yes"> 
      Yes</td> 
     <td># Water Fowl</td> 
     <td><input type="text" name="water_fowl"></td> 
    </tr> 
    <tr> 
     <td>Water Sports non-moto.</td> 
     <td><input type="text" name="water_sports"> </td> 
     <td>Water Sports motorized</td> 
     <td><input type="text" name="water_sports_motor"> </td> 
     <td>Sand Sports or Other</td> 
     <td><input type="text" name="sand_sports"> </td> 
    </tr> 
    <tr> 
     <td>Contaminant/Discharge Sources:</td> 
     <td colspan="2"><textarea name="contaminant"></textarea></td> 
     <td>Significat events taking place on the beach</td> 
     <td colspan="2"><textarea name="significant_event"></textarea></td> 
    </tr> 
</table> 

以下のようにフォームを作ってきました。別のサンプルを追加するために、このテーブルの一番下にボタンがあります。これをクリックすると、同じテーブルがフォームにもう一度追加され、サンプルの別のエントリが作成されます。サンプラーは5つのエントリーを作成することができ、その後、それらの値をデータベースに保存します。 このような状況を解決する方法に関するアイデア。

+0

uが何をしようとしたのですか? –

+0

はい、私は、可視性の隠された別のdivに全体のテーブルを入れて、addMoreのクラスでButtonを作りました。そのボタンをクリックすると、隠しテーブルをクローンして、次のコード$でメインテーブルに追加していました。 removeClass( "data_sheet")。appendTo( '。addMore ")。live(' click '、function(){ \t $('。data_sheet ')。 sampler_sheet_data ')を見つける。(' 削除 ')をクリックします(関数(。。){ \t \t \t \t $(この).parent()親が())(削除;。。 \t \t \t}); }) ; – HardCode

+0

なぜあなたはすべてのフィールドをきれいにしないのですか? –

答えて

1

は、私はあなたが

フォーム送信時にボタンを使用すると、各テーブルを反復し、子供値を取得し、データベース

0

uは缶に提出することができます

$('.submit').click(function(e){ 

    e.preventDefault(); 

    $('table').each(function(){ 

     //you can get all values 
     var value = $(this).children('.childclass').val(); 

     $.post('ajax/test.html', function(data) { 

     }); 
    }); 

}); 

をクリックAJAX要求を使用してこれを行わことができると思いますserializeArray()を使用してみて、フォームを作成して、フィールドに名前を設定するのを忘れないでください。

jQuery.post("yourPhp.php", 
    { 
      data: $("#form").serializeArray(), 
    }, 
    function(data){ 
     //.... 
    } 
) 

編集:

あなたのテーブルをきれいにする、これを試してみてください。

$("#yourTable").click(function(){ 
    $("#yourTable input, textarea, select").each(function(){ 
      $(this).val(""); 
    }); 
}); 
+0

問題は、競合が発生するように名前が繰り返されるすべてのフィールドで同じテーブルを複製するときです。私はフォーム上のラジオボタンを持っていると同じ名前のテーブルがフォームにappeded名前が矛盾しているように。 – HardCode

関連する問題