Re: [Opensis-devel] problem with TakeAttendance
Brought to you by:
aecioneto,
fxrsliberty
From: thin <thi...@gm...> - 2010-01-12 03:48:56
|
Is there any particular reason that we aren't using mysql's "on duplicate key" syntax in this scenario? INSERT INTO table (column1, column2) VALUES (value1, value2) ON DUPLICATE KEY UPDATE SET column1 = value1, column2 = value2... that would prevent any potential code logic boo-boos [and de-nest some of that squirrel-y stuff you referenced below]. :) On Mon, Jan 11, 2010 at 8:42 PM, Brian Smith <bri...@co...> wrote: > When a teacher takes attendance and an admin has already assigned an absence > to one of those students in the class, there's always an error with regards > to INSERT INTO when it should be updating the table instead. > > I'm showing the code below from TakeAttendance.php, it doesn't seem to ever > take the UPDATE path. > > There is a problem with the following chunk of code: > > if($_REQUEST['attendance'] && ($_POST['attendance'] || $_REQUEST['ajax'])) > { > foreach($_REQUEST['attendance'] as $student_id=>$value) > { > if($current_RET[$student_id]) > { > $sql = "UPDATE ".$table." SET > ATTENDANCE_TEACHER_CODE='".substr($value,5)."' "; > if($current_RET[$student_id][1]['ADMIN']!='Y') > $sql .= ",ATTENDANCE_CODE='".substr($value,5)."'"; > if(isset($_REQUEST['comment'][$student_id])) > $sql .= > ",COMMENT='".trim($_REQUEST['comment'][$student_id])."'"; > $sql .= " WHERE SCHOOL_DATE='".date('Y-m-d',strtotime($date))."' > AND COURSE_PERIOD_ID='".UserCoursePeriod()."' AND STUDENT_ID='$student_id'"; > } > else > $sql = "INSERT INTO ".$table." > (STUDENT_ID,SCHOOL_DATE,MARKING_PERIOD_ID,PERIOD_ID,COURSE_PERIOD_ID,ATTENDANCE_CODE,ATTENDANCE_TEACHER_CODE,COMMENT".($table=='LUNCH_PERIOD'?',TABLE_NAME':'').") > values('$student_id','$date','$qtr_id','".UserPeriod()."','".UserCoursePeriod()."','".substr($value,5)."','".substr($value,5)."','".$_REQUEST['comment'][$student_id]."'".($table=='LUNCH_PERIOD'?",'$_REQUEST[table]'":'').")"; > DBQuery($sql); > if($_REQUEST['table']=='0') > UpdateAttendanceDaily($student_id,$date); > } > > -Brian > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > Opensis-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensis-devel > > |