2014-02-17 31 views
0

我在我的頁面上使用了一個dinamycly生成的表(取決於查詢的結果),並使用了entrys和複選框。現在我將checkboxnames傳遞給一個數組。數組的值就像例如。 10,25,26 ...在裏面。此值(複選框名稱)也是字段「entry_ID」的第二個數據庫上的字段標識符。循環訪問一個數組並檢查是否設置了複選框

我現在想要做的是檢查動態生成的表上的複選框是否爲「ON」,並使用「1」(review_done)更新相關行中的字段。

我的代碼看起來像這樣ATM(和不工作)

if (isset($_POST['maintget'])) 
     { 

     $rows = $_SESSION["countRows"]; 
     $chkb_names = $_SESSION["arr_chkb_names"]; 

     //print_r($chkb_names); 

     for ($c = 0; $c<$rows; $c++) 
      { 

       if(isset($_POST($chkb_names[$c])) && $_POST($chkb_names[$c] == 1)) 
       {      
        $sql = 'UPDATE testDB SET review_done=? WHERE entry_ID =?'; 
        $result = $db->prepare($sql); 
        $result->bind_param('ii', 1,$chkb_names[$c]); 
        $result->execute(); 
       } 
      } 
     } 

任何幫助將是不錯! THX

+0

「不工作」 的意思?最新錯誤... – user1844933

回答

0

您正在使用$_POST()這是錯誤的。 $_POST是一個數組

這應該工作

if (isset($_POST['maintget'])) 
    { 

    $rows = $_SESSION["countRows"]; 
    $chkb_names = $_SESSION["arr_chkb_names"]; 

    //print_r($chkb_names); 

    for ($c = 0; $c<$rows; $c++) 
     { 

      if(isset($_POST[$chkb_names[$c]]) 
      {      
       $sql = 'UPDATE testDB SET review_done=? WHERE entry_ID =?'; 
       $result = $db->prepare($sql); 
       $result->bind_param('ii', $review=1,$chkb_names[$c]); 
       $result->execute(); 
      } 
     } 
    } 
+0

你需要開始正確調試,看看你的錯誤。按照這個http://stackoverflow.com/questions/18050071/php-parse-syntax-errors-and-how-to-solve-them – anurupr

+0

非常感謝。這現在與括號! – iridium

相關問題