需要从该数组中提取结果

时间:2019-06-05 19:19:05

标签: php arrays

我正在使用JQuery表单转发器插件(https://github.com/DubFriend/jquery.repeater),以允许我的用户向表单添加其他行。我是获得结果的一种方式,但现在却感到困惑。该文档不是很好,所以我一直在寻找实现此目的的方法。

我需要从表单转发器(通过$ _POST)获取字段,并将其分离出来并将其添加到我的数据库中。我可以做数据库位:-)

我已经尝试过一些foreach组合来尝试从数组中获取条目,但是有点难受,对数组来说有点新!

这是表单中的HTML ...

<div class="repeater">
   <div data-repeater-list="fuelUplifts">
      <div data-repeater-item>
         <div class="row">
            <div class="col-md-12 col-lg-6">
               <div class="form-group">
                  <label for="fuelUpliftLocations">Uplifted from</label>
                  <input type="text" class="form-control" id="fuelUpliftLocations" name="fuelUpliftLocations" maxlength="45" value="<?php echo Input::get('fuelUpliftLocations'); ?>">
               </div>
            </div>
            <div class="col-md-12 col-lg-6">
               <div class="form-group">
                  <label for="fuelUpliftAmount">Amount</label>
                  <div class="input-group">
                     <input id="fuelUpliftAmount" name="fuelUpliftAmount" type="number" step="0.01" maxlength="8" class="form-control" placeholder="" value="<?php echo Input::get('fuelUpliftAmount'); ?>">
                     <div class="input-group-append">
                        <button data-repeater-delete class="btn btn-danger" data-message="yo" type="button"><i class="mdi mdi-delete-forever"></i></button>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </div>
   </div>
   <input class="btn btn-primary" data-repeater-create type="button" value="Add another fuel stop"/>
</div>

如果我print_r数据中继器列表,我得到以下内容

array(2) { [0]=> array(2) { ["fuelUpliftLocations"]=> string(26) "Mayflower Marina, Plymouth" ["fuelUpliftAmount"]=> string(4) "1500" } [1]=> array(2) { ["fuelUpliftLocations"]=> string(23) "Yarmouth, Isle of White" ["fuelUpliftAmount"]=> string(4) "1500" } } 

我仍在努力了解数组以及获取结果的最佳方法。谁能指出我正确的方向,以便从“ fuelUpliftLocations”和“ fuelUpliftAmount”中提取数据?

我想获取每个字段,并将它们作为逗号分隔的字符串保存在数据库的相应列中。

把它弄出来是困扰我的。我已经尝试过一些foreach循环变体,例如:

  foreach ($_POST['fuelUplifts'] as $key => $value) {
    print_r($value);
  }

这将返回

Array ( [fuelUpliftLocations] => Mayflower Marina, Plymouth [fuelUpliftAmount] => 1500 ) Array ( [fuelUpliftLocations] => Yarmouth, Isle of White [fuelUpliftAmount] => 1500 )  

所以我想我越来越近了。有人能指出我正确的方向吗?

非常感谢!

马特

1 个答案:

答案 0 :(得分:1)

这是您要做什么吗?

foreach ($_POST['fuelUplifts'] as $row) {
  print $row['fuelUpliftLocations'];
  print $row['fuelUpliftAmount'];
}

这未经测试,但应打印出每一行的位置和金额。如果您需要其他格式,现在可以控制。