2016-03-29 50 views
0

所以我有一個表單可以讓人們添加一個等級列表,並且使用jQuery他們可以添加多達9個額外的字段。 (意味着他們可以提交1到10年級的任何數字)。我想知道的是我可以如何將其存儲在我的數據庫中,因爲我不想將它們全部轉換爲一個字符串。我擔心的是,因爲我不知道用戶將輸入多少個等級,所以我不能設置一個明確的陣列號碼來存儲(或者我可以嗎?)PHP將未知數組長度存儲到數據庫中

對不起,如果這不是很好解釋,我還是比較新的PHP和SQL!

+0

正如它目前寫的,你不清楚你在問什麼。你可以添加更多的信息,你目前有(表格,PHP腳本,數據庫方案,表關係...)? –

+3

年級應該是與每個年級的所有者相關聯的一張表格。根據需要,您可以在成績表中添加三列 - 學生標識符,課程和成績。 –

+0

所以我有一個'成績'表,它涉及一個簡歷表,而CV表涉及到一個用戶表。一個簡歷/簡歷中包含許多年級,以及一個用戶的許多簡歷/簡歷。例如,他們目前上傳的內容如數學,A,GCSE作爲一個入口,英語,A *,A Level作爲另一個入口。 – SixTailedFox

回答

1

如果我沒有弄錯的話,一個簡單的假設是:爲多個科目保存一個具有多個等級的用戶可以像這樣實現。

首先我們從形成一個用戶ID,並把它在PHP:

$id = isset($_POST['id'])? $_POST['id']:''; 

然後得到多個等級和科目,將作爲逗號分隔值發送:

//$id= explode(',',$_POST['id']);// For multiple users 
$grade= explode(',',$_POST['grade']); 
$subj= explode(',',$_POST['subject']); 
$entry= explode(',',$_POST['entry']); 

現在算等級的數量:$count= count($grade);

使用for loop中的計數來使循環插入:

for ($i = 0; $i < $count; $i++) { 
    try { 
     $dbh->beginTransaction(); //$dbh is your PDO connection    
      $insertQ = "INSERT INTO `grades` (id, grade, subject, entry) 
         VALUES('$id', '$grade[$i]', '$subj[$i]','$entry[$i])";    
      $dbh->query($insertQ);    
      $dbh->commit(); 
      } catch (Exception $e) { 
       $error = $e->getMessage(); 

      } 
} 

希望這可能有所幫助。

相關問題