在具有多个文本输入的页面上向mysql提交单个文本输入

时间:2015-01-13 11:24:03

标签: php jquery mysql

对于我的应用程序,我在表中有几百个文本输入,每个输入都有自己的提交按钮。每个文本字段都需要能够单独提交给MySQL。我将如何实现这一目标?



$(document).ready(function() {
  $(".toggler").click(function(e) {
    e.preventDefault();
    $('.cat' + $(this).attr('data-prod-cat')).toggle();
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<table>
  <tr>
    <td>Product</td>
    <td>Price</td>
    <td>Destination</td>
    <td>Updated on</td>
  </tr>
  <tr>
    <td>Oranges</td>
    <td>100</td>
    <td>
      <button class="toggler" data-prod-cat="1">+ On Store</button>
    </td>
    <td>22/10</td>
  </tr>
  <tr class="cat1" style="display:none">
    <td style="white-space: nowrap">Enter Amount:
      <input type="text" maxlength="4" name="quantity" class="input" />&nbsp;<a href="#" class="submit" type="submit" value="Submit">Submit</a>
    </td>
  </tr>
  <tr>
    <td>Apples</td>
    <td>100</td>
    <td>
      <button class="toggler" data-prod-cat="2">+ On Store</button>
    </td>
    <td>22/10</td>
  </tr>
  <tr class="cat2" style="display:none">
    <td style="white-space: nowrap">Enter Amount:
      <input type="text" maxlength="4" name="quantity" class="input" />&nbsp;<a href="#" class="submit" type="submit" value="Submit">Submit</a>
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;

&#13;
&#13;
<?php

$con = mysql_connect("site_url","id","password");

if (!$con)

  {

  die('Could not connect: ' . mysql_error());

  }

 

mysql_select_db("cis_id", $con);

 

$sql="INSERT INTO table (price)

VALUES

('$_POST[price]')";

 

if (!mysql_query($sql,$con))

  {

  die('Error: ' . mysql_error());

  }

echo "1 record added";

 

mysql_close($con)

?>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:0)

使用仅提交所需字段的AJAX调用。像这样:

$.ajax({
    type: POST, url: http:/yourdomain.com/yourajaxpage.php
    data: { 
        fieldToSubmit: $('#field).val()
    }
}).done(function( res ) {
    // whatever you want to do on return;
});

在PHP上的字段&#34;数据&#34;将在$ _POST

中提供

答案 1 :(得分:0)

你的sql在php中是错误的,查询将括号作为字符串。在php文件中使用以下代码

<?php

$con = mysql_connect("site_url","id","password");

if (!$con)

  {

  die('Could not connect: ' . mysql_error());

  }



mysql_select_db("cis_id", $con);

 $var = $_POST[price];

$sql="INSERT INTO table (price)

VALUES

('$var')";



if (!mysql_query($sql,$con))

  {

  die('Error: ' . mysql_error());

  }

echo "1 record added";



mysql_close($con)

?>

希望这有助于你

答案 2 :(得分:0)

提交输入的一种方法是创建表单,但因为在您的情况下创建表单将是一个工作的地狱。所以我会调用ajax函数并将值(&#34;数量&#34;)传递给你的页面。

$('.submit').click(function(e){
   e.preventDefault();
   var me = $(this);
   $.ajax({
      type:"post",     
      data: {price : me.closest('.input').val()},
      url: "link/to/your/mysql/function/"
   }).done(function(html){
      alert(success);
   });
 });

PHP

echo $_POST[price]; //should give you the price