".$table[$t]."
"; while ($row = mysql_fetch_array($DESCRIBE_result)){ $current_field = $row['Field']; $upper = array(" ", " ID", "MEMS "); $lower = array("_", " id", "mems "); $english_field = ucwords(str_replace($lower, $upper, $current_field)); # row is mysql type, in format "int(11) unsigned zerofill" # or "enum('cheese','salmon')" etc. ereg('^([^ (]+)(\((.+)\))?([ ](.+))?$',$row['Type'],$fieldTypeSplit); # split type up into array $fieldFlags = $fieldTypeSplit[5]; # eg 'binary' or 'unsigned zerofill'. $fieldLen = $fieldTypeSplit[3]; # eg 11, or 'cheese','salmon' for enum. $fieldType = $fieldTypeSplit[1]; # eg 'int' for integer. if ($fieldLen < 20) $textboxLen = 25; elseif ($fieldLen > 75) $textboxLen = 80; else $textboxLen = (floor(($fieldLen)/5)+1)*5; echo "\n\n
Please correct the fields marked in red below:
\n"; if ($reddata[$k] == 1) { ?> >
value="">Select Month ">
  
31 ) || ( preg_match("/4|6|9|11/", $formdata["mm_".$current_eval_field]) && $formdata["dd_".$current_eval_field] > 30 ) || ( $formdata["mm_".$current_eval_field] == '02' && is_int($formdata["yyyy_".$current_eval_field]/4) && $formdata["dd_".$current_eval_field] > 29 ) || ( $formdata["mm_".$current_eval_field] == '02' && !is_int($formdata["yyyy_".$current_eval_field]/4) && $formdata["dd_".$current_eval_field] > 28 ) ) $reddata[$counter] = 1; // ENUM & SET validation if ($fieldType=='enum' or $fieldType=='set'){ $fieldOptions = split("','",substr($fieldLen,1,-1)); if (!in_array($formdata[$current_eval_field], $fieldOptions)) $reddata[$counter] = 1; } // if $counter++; } //while // START VALIDATION RESULT if (is_array($reddata)) { make_form($t, $formdata, $reddata); return; } //if //INSERT to table and output to html if validation rules are good $newcounter = 1; while ($newcounter <= $count){ $current_insert_field = $current_field[$newcounter]; if ($current_insert_field == "timestamp") { $newcounter++; echo $newcounter."
"; break; } echo "
DESCRIBE_result for ".$table[$t]."
"; echo $table[$t].".".$current_insert_field." = ".$formdata[$current_insert_field]."
"; //fix this so that auto-increment, timestamp, and other database-set fields aren't included in the query, and the punctuation is still right //also fix the make_form function so that it ignores these types of data) if ($newcounter < $count) { $fs = "` ".$newcounter.", `"; $vs = "' ".$newcounter.", '"; } else { $fs = "` ".$newcounter.")"; $vs = "' ".$newcounter.") "; } if ($current_field[$newcounter+1] == "timestamp" && $newcounter == $count-1) { $fs = "` ".$newcounter.")"; $vs = "' ".$newcounter.") "; } echo "
"; $insert_query .= $current_insert_field.$fs; $values .= $formdata[$current_insert_field].$vs; $newcounter++; } // while $values = str_replace("'NULL'", "NULL", $values); $insert_query .= $values; echo $insert_query; mysql_query($insert_query); echo "
affected rows: ".mysql_affected_rows(); db(1); } //function ?>