2016-10-06 73 views
0

我的代碼不起作用。我試圖根據表格單元中的數據禁用按鈕。這是我的表格的一個例子。基於單元格數據庫狀態的禁用按鈕

Table A (tickets) 
*----------------* 
| id | repair_id | 
| 1 | 10, 11 | 
| 2 | 12  | 
*----------------* 

和我當前的代碼:

<?php 
    $sql = "SELECT repair_id FROM tickets WHERE t_id =".$ticket_id." "; 
    $sql .= "AND repair_id REGEXP ',' "; 

     $box_check = mysqli_query($connection, $sql); 
     $box_empty = mysqli_fetch_array($box_check); 
      if(count($box_empty) == 0) { 
       echo "<button class='btn btn-primary' disabled='disabled' name='add_box'>Add Box</button>"; 
      } else { 
       echo "<button class='btn btn-primary' type='submit' name='add_box'>Add Box</button>"; 
      } 
?> 

我的目標是使盒子能活躍,只要有超過1 idrepair_id

目前該框已全部禁用或啓用,取決於我是否設置了if(count($box_empty) == true/false/0/1)

回答

0

現在,... REGEXP ', '只選擇那些具有多個修復ID的行。根據你的問題,

我的目標是,只要在repair_id中有超過1個ID,就允許該盒子處於活動狀態。

使用簡單SELECT查詢,而不REGEX和利用strpos()功能的檢查repair_id列是否包含一個以上的維修ID或沒有,然後相應地顯示的按鈕,像這樣:

$sql = "SELECT repair_id FROM tickets WHERE t_id =".$ticket_id; 

$result = mysqli_query($connection, $sql); 
while($row = mysqli_fetch_array($result)){ 
    if(strpos($row['repair_id'], ",") === false) { 
     echo "<button class='btn btn-primary' disabled='disabled' name='add_box'>Add Box</button>"; 
    } else { 
     echo "<button class='btn btn-primary' type='submit' name='add_box'>Add Box</button>"; 
    } 
} 
+0

這對我不起作用。這些按鈕根本不顯示。 –

+0

@ cpt-crunchy執行'echo $ result-> num_rows;'並檢查從SELECT查詢中得到的行數。另外,將代碼粘貼到[pastebin.com](http://pastebin.com/index.php),並將其鏈接到此處。 –

+0

我添加了pastebin鏈接,並在沒有結果的情況下添加了回顯。 [這裏](http://pastebin.com/aHFbd7XQ) –