2011-11-15 40 views
0

我有一个表,其中有两个字段,名称分别为credithourgradepoint如何在mySQL和PHP中的两个表中添加数据?

我想将credithour的每行添加数据与gradepoint

我的代码:

$totalcredithour = 0;       
$GPA = "SELECT * FROM $dept_stu_id WHERE sessionyear = '$sessionyear'" or die (mysql_error()); 
$resultGPA = mysql_query($GPA); 
while($data = mysql_fetch_array($resultGPA)) 
{ 
    $credithour = "$data[credithour]"; 
    $gradepoint = "$data[gradepoint]"; 
    echo $totalcredithour += $credithour; 
} 

我在做什么错?

它增加了数据,但显示除了结果之外的第一个信用小时。 假设,在这里我输入了两个数据3和5.当我运行这个代码时,它回显了38.这意味着“3 + 5 = 8”和第一个credithour =“3”。

+0

我试图编辑您的问题,但它也不是很清楚的开始。让我知道我是否错过了任何东西。 –

+0

我想要从两列中检索数据,并分别从这些列中添加每行数据。那是我尝试去做的。 – webrider

回答

1

其实对方的回答是错误的,你正在做一个字符串旁边的or die(mysql_error());,这是不对的。

您的代码应该是这样..

$totalcredithour = 0;       
$GPA = "SELECT * FROM `".$dept_stu_id."` WHERE sessionyear = `".$sessionyear."` "; 
$resultGPA = mysql_query($GPA) or die(mysql_error()); 
while($data = mysql_fetch_array($resultGPA, MYSQL_ASSOC)) 
{ 
    $credithour = $data['credithour']; 
    $gradepoint = $data['gradepoint']; 

    echo $totalcredithour += $credithour; //Make sure `$totalcredithot` isn't null/doesn't exist. 
} 
+0

仍然无法工作是,“$ totalcredithour “is exists and null。 – webrider

+0

奇怪的是,确保这些列存在,并且将'echo $ totalcredithour + = $ credithour;'更改为'echo $ credithour;',因此我们可以检查它是否返回空值 –

+0

是的,我有已经改变了,并返回相同的结果,我同意,它的奇怪,我刚刚编辑我的帖子,请看看。Thnx – webrider

0

尝试这样的事情在你的while循环:

$credithour = $data['credithour']; 
$gradepoint = $data['gradepoint']; 
+0

仍然无法正常工作:( – webrider

+0

是你的表名为$ dept_stu_id?它可能只是dept_stu_id - $表示一个php变量 – rogerlsmith

+0

不可以,“$ dept_stu_id”是一个发布的变量,我用它作为表名。这个问题并不是亲爱的 – webrider

0

尝试像这样

我已经编辑了答案,并添加floatval功能

$totalcredithour = 0;       
    $GPA = "SELECT * FROM `".$dept_stu_id."` WHERE sessionyear = '".$sessionyear."'" or die (mysql_error()); 
$resultGPA = mysql_query($GPA); 
while($data = mysql_fetch_array($resultGPA)) 
{ 
$credithour = $data['credithour']; 
$gradepoint = $data['gradepoint']; 
echo $totalcredithour += floatval($credithour); 
} 
+0

相关数据检索成功,但问题是他们没有添加:( – webrider

+0

现在用floatval尝试它 – Sedz

相关问题