php - 点击插入按钮后保留的数据

标签 php mysql

在此表单中,当您单击表中的记录时,数据将显示在左侧的表单中。当我单击“插入”按钮时,数据将存储在数据库中并从表单中消失,就像没有记录一样。有什么方法可以让记录在我点击“插入”按钮后仍然保留。

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>

最佳答案

最好的选择是使用 ajax,它基本上允许您发布数据而无需重新加载页面(这会清除表单字段)。详细信息可以在这里找到:https://api.jquery.com/jquery.post/但一个简单的例子如下:

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

或者,当您发布数据时,您可以在每个表单字段中检查它并再次将其放入。例如,对于您的 ID 字段,您可以执行以下操作:

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

如果您对表单进行任何类型的错误检查,您可能需要执行类似的操作,因此,如果他们输入无效内容并且无法插入,您希望保留所有字段数据而不是清除它。

关于php - 点击插入按钮后保留的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44943279/

相关文章:

php - 与自定义字段名称的学说 2 manytoone 关系

php - 在 HHVM 中调试?

php - MYSQL 缺少第一行数据

mysql - 如何在插入值时检查两列?

mysql - 替换mysql中的字符串

php - PHP 有没有办法检测请求是否来自浏览器后退按钮?

php - 如何从两个表中选择数据并对借方和贷方列中的余额求和(php)

mysql - 如何删除两个大表的析取行?

php - 有相对复杂的表单和提交流程。需要减肥方面的帮助

Php fetch_assoc 获取与 num_rows 不同的数据量