如何从jquery中的select项获取多个数据

时间:2017-12-13 07:36:30

标签: javascript php jquery

我正在尝试从多个select textbox中获取多个值,并在PHP中使用相同的值来添加SUM。

我的代码是:



function get_amount() {
  var x = $('#work').val();;
  alert(x);
  $.ajax({
    type: "POST",
    url: "get-sum.php",
    data: 'id=' + x,
    success: function(data) {
      alert(data);
      //$('#html').load(document.URL +  ' #html');
    }
  });
}

<select class="select2 select2-multiple" multiple="multiple" data-placeholder="Choose" name="work[]" id="work" onchange="get_amount()">
 <option value="1" >option 1</option>
 <option value="2"> OPtion 2 </option>
 <option value="3"> OPtion 3</option>
 </select>
&#13;
&#13;
&#13;

我的php文件为:

$id = $_POST['id'];


function getAmount($id){
global $mysqli;
$stmt = $mysqli->prepare("SELECT
(amount)
FROM work
WHERE id = ?
");
$stmt->bind_param("s",$id);
$stmt->execute();
$stmt->bind_result($amount);
$stmt->store_result();
$stmt->fetch();
$stmt->close();
return $amount;
 }

$sql = getAmount($id);
echo $sql;

我得到的错误是我从多个选择获得的数据是5,6,7并且它总是击中id为5的php文件。第二个问题我将如何能够添加所有$sql数据。

1 个答案:

答案 0 :(得分:0)

我在PHP代码中做了一些更改:

$id = $_POST['id'];
$sum = 0;
for($i = 0; $i<count($id); $i++) {
  $sum = $sum + getAmount($id[$i]);
 }
echo $sum;

function getAmount(&$id){
global $mysqli;
$stmt = $mysqli->prepare("SELECT SUM(amount) AS total FROM work WHERE id = (?)");
$stmt->bind_param("s",$id);
$stmt->execute();
$stmt->bind_result($amount);
$stmt->fetch();
return $amount['total'];
}