2012-02-22 98 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个字段),否则所有行都会更新!