【问题标题】:how to insert html table data per tr into sql table如何将每个tr的html表数据插入sql表
【发布时间】:2016-04-15 04:33:04
【问题描述】:

这是我的以下代码,我想将每行的html表数据插入sql,但是使用此代码,只将最后一行存储到数据库表中,我想我需要使用循环来读取每行的数据,不仅最后一波,有什么想法吗?

 <?php
    //connect
    if (isset($_POST['submit'])){


    $con = mysql_connect("localhost","Matt","password");
       if (!$con){
           die("Can not connect: " . mysql_error());
       }
       mysql_select_db("propereva",$con);

      INSERT INTO properevatables (Number, Name,BasicSalary,ServiceMonths,SalaryPercentWithoutCEO,SalaryPercentWithCeo,PercentEvaShareByCeoDirectReports,PercentEvaShareByCeoAndDirectReports,PercentKpi,EvaBonusInMonths,percentwithbank,TotalEvaBonus,totalwithbank) VALUES ('$_POST[number]','$_POST[membername]','$_POST[salary]','$_POST[service]','$_POST[percentwithoutCEO]','$_POST[percentwithCEO]','$_POST[ceoReport]','$_POST[directresult]','$_POST[kpi]','$_POST[resultpercentageEVA]','$_POST[percentwithbank]','$_POST[yearonly]','$_POST[totalwithbank]')";


       mysql_query($sql,$con);

       mysql_close($con);
     }

     ?>

【问题讨论】:

  • 您能提供发布数据的 HTML 吗?
  • 请提供包括 html 在内的工作代码,并指定您得到的错误或输出。
  • 它实际上是一个由 10 个 trows 组成的简单表,问题是它应该读取每个 trows 数据,而不仅仅是最后一个 trows

标签: php html sql


【解决方案1】:

您要做的是将整个表的数据发送到服务器进行存储。

您可以使用 JavaScript 执行此操作,并将所有数据整理到 JSON 对象中,以使用 AJAX 请求发送到服务器。

您可以从

了解 JavaScript 中的 AJAX

这里https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started

或者您可以选择使用诸如 JQuery 之类的 JavaScript 库来帮助您满足 AJAX 需求。

http://api.jquery.com/jquery.ajax/

您也可以使用表格中的 HTML 输入来提交所有值,但不建议这样做。

【讨论】:

  • 嗯,我需要的是将数据存储到sql,可以吗?
  • 只要您使用 name 属性为每个输入元素命名,您对每个单元格中的输入字段执行的方法就可以工作。在我看来,您需要学习如何使用 HTML 表单并将它们提交到后端,那么您为什么不先尝试一下本教程呢? w3schools.com/php/php_forms.asp
  • 是的,我已经读过了,问题是,我可以使用上面的代码存储表中的数据,但它只存储最后表行中的数据。所以实际上我需要的是,我需要一些 php 代码建议来存储可以读取每一行的表数据,比如使用循环或数组或其他东西?顺便说一句,非常感谢你:D
  • 好吧,如果您打算这样做,那么您需要相应地命名每个输入字段。因此,例如,如果您有 10 行,那么您需要将输入字段的第一行命名为salary-1、member-1 等……而对于第 2 行,则需要salary-2、member-2 等……然后在您的 PHP 上,您将遍历从 member-1 到 member-10 的 post 变量。例如。 $_POST['会员-' . i ] **但请注意,这不是正确的方法! ** 这不是未来的证明,会导致很多后期变量。你应该学习如何使用 AJAX 来解决这个问题。
【解决方案2】:
<?php
include 'connect.php';
if(isset($_POST['submit']))
{
$number=$_POST['Number'];
$name=$_POST['Name'];
$salary=$_POST['BasicSalary'];
$service=$_POST['ServiceMonths'];

$insert=mysql_query("insert into `properevatables ` (Number,Name,BasicSalary,ServiceMonths) values('$number','$name','$salary','$service')");

if($insert)
{
    $msg="Inserted Successfully";
echo "<script type='text/javascript'>alert('$msg');</script>";

}
else
{
$msg=" Insert Not Successfully";
echo "<script type='text/javascript'>alert('$msg');</script>";

}

}
?>

通过这个你可以添加更多的字段。我现在只添加了三个。这里的connect.php是到数据库的连接文件。你可以使用单独的文件或者在同一个文件中包含他的连接代码。

【讨论】:

  • 嗯,向我的数据库添加更多字段没有任何问题我的问题是我需要将所有表数据存储到我的数据库中,该数据库由 10 个 和每个 tr 组成由 13 个 组成,如果您可以在上面看到我的代码,我可以插入数据,但它只插入最后一行(last )
猜你喜欢
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多