2017-07-06 3 views
0

このフォームでは、表のレコードをクリックすると、そのデータがフォームの左側に表示されます。挿入ボタンをクリックすると、データはデータベースに保存され、レコードがないようにフォームから消えます。挿入ボタンを押してもレコードを残す方法はありますか?挿入ボタンを押した後に残るデータ

enter image description here

これは、挿入のための私のPHPコードです。

<?php 

    if(isset($_POST['submit'])){ 

    $ID = $_POST['ID']; 
    $Name = $_POST['Name']; 
    $Location = $_POST['Location']; 
    $Date = $_POST['Date']; 
    $Category = $_POST['Category']; 
    $LabourSupplier = $_POST['LabourSupplier']; 
    $BasicSalary = $_POST['BasicSalary']; 
    $Allowance1 = $_POST['Allowance1']; 
    $InTime = $_POST['InTime']; 
    $OutTime = $_POST['OutTime']; 
    $Day = $_POST['Day']; 
    $DayRate = $_POST['DayRate']; 
    $Salary = $_POST['Salary']; 
    $OtHours = $_POST['OtHours']; 
    $OTrate = $_POST['OTrate']; 
    $OTAmount = $_POST['OTAmount']; 
    $Allowance2 = $_POST['Allowance2']; 
    $TotalSalary = $_POST['TotalSalary']; 
    $Advance = $_POST['Advance']; 
    $SalaryTo = $_POST['SalaryTo']; 
    $Mobile = $_POST['Mobile']; 
    $Home = $_POST['Home']; 

//Insert Query of SQL 
     $query = mysql_query("INSERT INTO attendance(ID,Name,Location, Date,Category,LabourSupplier,BasicSalary,Allowance1,InTime,OutTime,Day,DayRate,Salary,OTHours,OTrate,OTAmount,Allowance2,TotalSalary,Advance,SalaryToHand, Mobile, Home) VALUES ('$ID','$Name','$Location' ,'$Date', '$Category','$LabourSupplier','$BasicSalary','$Allowance1','$InTime','$OutTime','$Day','$DayRate','$Salary','$OtHours','$OTrate','$OTAmount','$Allowance2','$TotalSalary','$Advance','$SalaryTo','$Mobile','$Home')",$connection); 

     } 
    ?>  

これはフォームのhtmlコードです。

<form id="details" action="" method="POST"> 

    <fieldset> ID: 
     <input class="input" type="text" id="id" name="ID" value="" /> 
     </fieldset> 
    <fieldset> Name: 
     <input class="input" type="text" id="name" name="Name" value="" /> 
    </fieldset> 
    <fieldset> Location: 
     <input class="input" type="text" id="location" name="Location" value="" /> 
    </fieldset> 
    <fieldset> Date: 
     <input class="input" type="text" id="date" name="Date" value="" /> 
    </fieldset> 
    <fieldset> Category: 
     <input class="input" type="text" id="category" name="Category" value="" /> 
    </fieldset> 
    <fieldset> Labour Supplier: 
    <input class="input" type="text" id="labsupp" name="LabourSupplier" value="" /> 
    </fieldset> 
    <fieldset> Basic Salary: 
     <input class="input" type="text" id="bsalary" name="BasicSalary" value="" /> 
    </fieldset> 
    <fieldset> Allowance I: 
     <input class="input" type="text" id="all1" name="Allowance1" value="" /> 
    </fieldset> 
    <fieldset> In-Time: 
    <input class="input" type="text" name="InTime" id="intime" value="" /> 
    </fieldset> 
    <fieldset>Out-Time: 
     <input class="input" type="text" name="OutTime" id="outtime" value="" /> 
    </fieldset> 
    <fieldset> Day: 
    <input class="input" type="text" id="day" name="Day" value="" /> 
    </fieldset> 
    <fieldset> Day Rate: 
    <input class="input" type="text" id="dayrate" name="DayRate" value="" /> 
    </fieldset> 
    <fieldset>Salary: 
    <input class="input" type="text" id="salary" name="Salary" value="" /> 
    </fieldset> 
    <fieldset>OT Hours: 
    <input class="input" type="text" id="othours" name="OtHours" value="" /> 
    </fieldset> 
    <fieldset>OT Rate: 
    <input class="input" type="text" id="otrate" name="OTrate" value="" /> 
    </fieldset> 
    <fieldset> OT Amount: 
     <input class="input" type="text" id="otamount" name="OTAmount" value="" /> 
    </fieldset> 
    <fieldset> Allownace II: 
     <input class="input" type="text" id="allowance2" name="Allowance2" value="" /> 
    </fieldset> 
    <fieldset> Total Salary: 
     <input class="input" type="text" id="totalsalary" name="TotalSalary" value="" /> 
    </fieldset> 
    <fieldset> Advance: 
     <input class="input" type="text" id="advance" name="Advance" value="" /> 
    </fieldset> 
    <fieldset> Salary To Hand: 
     <input class="input" type="text" id="salaryto" name="SalaryTo" value="" /> 
    </fieldset> 
    <fieldset> Mobile: 
     <input class="input" type="text" id="mobile" name="Mobile" value="" /> 
    </fieldset> 
    <fieldset> Home: 
     <input class="input" type="text" id="home" name="Home" value="" /> 
    </fieldset> <br> 
    <fieldset > 
     <button name="submit" type="submit" id="submit">Insert</button> 
     <button name="update" type="submit" id="update">Update</button> 
     <button name="delete" type="delete" id="delete">Delete</button> 
     <button onclick="win();" name="Back" type="back" id="details-back">Back</button> 
    </fieldset> 

    </form> 
+0

htmlを投稿してください – Exprator

+0

フォームの代わりに 'post'を使用するには、jquery' ajax() 'メソッドを使用してください。 –

+0

**警告**:PHPを学んでいるだけの方は、[mysql_query'](http://php.net/manual/en/function.mysql-query.php)インタフェースを使用しないでください。それはPHP 7で削除されたのでとてもひどいと危険です。[PDOのようなものは学ぶのが難しくない](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /)と[PHP The Right Way](http://www.phptherightway.com/)のようなガイドがベストプラクティスを説明しています。あなたのユーザーデータは**適切にエスケープされていない**(http://bobby-tables.com/php.html)であり、[SQLインジェクションのバグ](http://bobby-tables.com/)があります。悪用される。 – tadman

答えて

0

あなたの最善の策は、基本的には、あなたが(あなたのフォームフィールドをクリアするものである)ページをリロードせずにデータをポストすることを可能にする、AJAXを使用することです。これの詳細はここで見つけることができます:https://api.jquery.com/jquery.post/が、簡単な例は、以下のようなものです:あなたがあなたのデータをポストするとき

$.post("myscript.php", function(data) { 
    alert("record added!"); 
}); 

代わりにあなたは自分のフォームフィールドのそれぞれに、それをチェックして、もう一度それを置くことができます。あなたは自分のフォーム上のエラーチェックの任意の並べ替えを持っている場合は、そう、彼らは無効な何かを入力し、それが失敗した場合は、とにかく、このような何かをする必要があるかもしれません

<input class="input" type="text" id="id" name="ID" value="<?php isset($_POST['ID']) ? $_POST['ID'] : false; ?>" /> 

:だからあなたのIDフィールドと、たとえば次のような何かを行うことができますフィールドデータをクリアするのではなく、すべて保持したい場合は、挿入します。

関連する問題