2014-12-23 75 views
0

只是一個簡短的概述是我想做的事:

我從MySQL-dB的「GridView的」含cargodata。 網格包含一個複選框,其中貨物id爲每行的值。 現在用戶可以選擇多個貨物元素並生成一個包含collis和其他信息的pdf。

這裏的網格的片斷它是如何通過PHP內置:

<table> 
<tr id="first"></tr> 
     <?php 

     $collection = $_barcode->getBarcodeCollection($_SESSION['sort'], $_SESSION['order']); 

     foreach ($collection as $row) 
     {    
      echo "<tr class='datarow'>"; 
      echo "<td><input type='checkbox' name='select[]' value='".$row['id']."' /></td>"; 
      echo "<td onclick=''>".$row['sku']."</td>"; 
      echo "<td>".$row['colli_']."/".$row['colli']."</td>"; 
      echo "<td>".$_man->getManufacturerById($row['manufacturer'])."</td>"; 
      echo "<td>".$row['barcode']."</td>"; 
      echo "</tr>"; 
     } 
     ?> 
</table> 

,如果我只選擇幾個條目到目前爲止是這種罰款。 我的數據庫表現在有〜4.000個條目,所以當我選擇網格中的所有元素時,它只能將1.000元素傳遞給$_POST-數組,因爲php默認將max_input_vars設置爲1.000。

這裏是一部分,在那裏我得到並處理值從選中的複選框:現在

if ($_POST['formaction'] == "generateBarcodes") 
{ 
     $barcodedata = $_POST["select"]; 
     $_ev = new Eventmgr(); 
     if($barcodedata!=null) 
     { 
      $barcodeitems = array(); 
      $data = array(); 

      // get all selected barcodes 
      foreach ($barcodedata as $item) 
      { 
       $barcodeitems[] = $_barcode->getBarcodeById($item); 
      } 

      // Create an array which holds all data seperated by manufacturer 
      foreach($barcodeitems as $i) 
      { 
       $data[$i["manufacturer"]][] = $i; 
      } 

      $_ev->logEvent("Begin with generating process....",1); 
      $pdfgen = new generatepdf($data); 
      $pdfgen->generatePDF(); 
     } 
     else 
     { 
      $_ev->logEvent("Keine Barcodes ausgewählt!",2); 
     } 
} 

所以什麼問題?

我已經將max_input_vars設置爲6.000並重新啓動我的debian運行的機器。 但是,即使它們被選中,它也只會選擇〜900選定的複選框並忽略其他〜3.000複選框。

所以,現在我不知道哪裏出了問題,我沒有丟失$_POST內的複選框值 - 在我處理數據之前。

我希望有人能給我一些提示或建議。

提前感謝和問候 tireniets

更新#1(23-12-2014): 我現在試圖從提供的鏈接通過建議donald123也提示Pankajkatiyar proviced。

添加並將max_input_vars設置爲apache2配置不會改變任何結果,因爲我更改了post_max_size

我有不好的感覺,我正在監督一些事情。

SOLUTION(23-12-2014):

嘿傢伙,

還向我道歉....設置max_input_vars裏面的php.ini中已經工作。問題在於,我在max_input_vars行之前監督了分號。我的應用程序現在按預期工作。

問候&節日快樂itreniets

+0

如果你的var_dump是'$ _ POST [ 「選擇」]'? – vaso123

+0

也許重複的內容見http://stackoverflow.com/questions/9399315/how-to-increase-maximum-post-variable-in-php – donald123

+0

這個鏈接可以幫助你max_input_var [添加一行到httpd.conf]( http://php.net/manual/en/configuration.changes.php) –

回答

0

還向我道歉....設置max_input_vars裏面的php.ini中已經工作。 問題是,我已經在行max_input_vars之前監督了分號。 我的應用程序現在按預期工作。

問候&節日快樂 itreniets