--- loncom/interface/loncoursedata.pm 2005/10/04 18:27:32 1.150 +++ loncom/interface/loncoursedata.pm 2006/02/04 20:03:30 1.152 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursedata.pm,v 1.150 2005/10/04 18:27:32 albertel Exp $ +# $Id: loncoursedata.pm,v 1.152 2006/02/04 20:03:30 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1291,6 +1291,7 @@ sub store_student_data { while (my ($parameter,$value) = each(%$param_hash)) { next if ($parameter !~ /^resource\.(.*)\.(solved|awarded)$/); my $part = $1; + next if ($part =~ /\./); next if (exists($stored{$part})); $stored{$part}++; # @@ -1872,6 +1873,8 @@ sub execute_SQL_request { my ($dbh,$request)=@_; # &Apache::lonnet::logthis($request); my $sth = $dbh->prepare($request); + if (!$sth) + { die $dbh->errstr . " SQL: $request"; } $sth->execute(); my $row = $sth->fetchrow_arrayref(); if (ref($row) eq 'ARRAY' && scalar(@$row)>0) { @@ -2211,7 +2214,7 @@ sub score_stats { # &Apache::lonnet::logthis('request = '.$/.$request); $request = 'SELECT SUM(weight) FROM '.$weight_table. - ' WHERE ('.$symb_restriction.')'; + ' AS a WHERE ('.$symb_restriction.')'; my ($max_possible) = &execute_SQL_request($dbh,$request); # &Apache::lonnet::logthis('request = '.$/.$request); return($min,$max,$ave,$std,$count,$max_possible); @@ -2260,11 +2263,10 @@ sub count_stats { $request = 'CREATE TEMPORARY TABLE '.$stats_table.' '. 'SELECT a.student_id,'. - 'COUNT(a.award) AS count FROM '. + 'SUM(a.awarded) AS count FROM '. $performance_table.' AS a '. 'LEFT JOIN '.$student_table.' AS b ON a.student_id=b.student_id '. - 'WHERE ('.$symb_restriction.')'. - " AND a.award!='INCORRECT_ATTEMPTED'"; + 'WHERE ('.$symb_restriction.')'; if ($time_limits) { $request .= ' AND '.$time_limits; }