2012-02-22 101 views
0

是否可以在兩個不同的場合有一個表並在單行中插入數據?我的意思是,我有一張有五列的表格,在第一次提交數據時,我想只在該表格的兩個字段上記錄數據,而在同一行的不同數據提交中,我想要記錄剩餘的3個數據列中沒有記錄任何數據。我應該使用什麼方法?插入或更新?或者既不?在數據庫表上記錄數據

對不起,我的英語不好,問題混淆的方式。

代碼:

$query = ("SELECT q1 FROM grades where studentnumber = '$_POST[studentnumber]' && subjectcode = '$_POST[subjectcode]' "); 
$result=mysql_query($query); 
if($result) 
    { 

if(mysql_num_rows($result) ==1) 
    { 

     $sql=mysql_query("UPDATE grades SET q1 = '$_POST[q1]' where studentnumber = '$_POST[studentnumber]' AND subjectcode = '$_POST[subjectcode]'"); 

     if($sql) 
      { 
      echo "<script type='text/javascript'>alert('Password successfully changed'); location.href = 'cvsu-sis_grades.php';</script>"; 
      } 
    } 
    } 
    else 
    { 
    echo "<script type='text/javascript'>alert('Record Does not Exist'); location.href = 'cvsu-sis_grades.php';</script>"; 
    } 

我省略了一些列只是爲了讓男女同校較短,但最有可能是一樣的。只是一系列的Q1,Q2的,...

回答

1

您可以使用INSERT的前兩列,並使用mysql_insert_id()(只有當你的主鍵列名是「id」時)才能得到你插入的ID,並使用它你可以使用UPDATE更新你剩餘的三列

2

第一個查詢應該是一個INSERT,那麼你就可以得到最後插入的ID,做一個UPDATE查詢

+0

我試過了,但沒有記錄。它有什麼可做的swith null或非空值? – 2012-02-22 08:33:26

+0

編輯您的問題並添加您的代碼 – 2012-02-22 08:34:27

0

首先,你必須確保,您的第一個INSERT上的2個字段,允許您留空的字段爲NULL

您必須將INSERT表中的第一個數據放入表中,當您想要添加剩餘字段時,您必須UPDATE那一行。確保當您使用UPDATE時,您使用的是約束WHERE(例如,已輸入2個字段),否則所有行都會更新!