public function insertRandomRow() { /* generate the field values */ /* first generate the random values, then add them to query */ $workTypeId = rand(1, WorkType::getRowsNumber()); $districtId = rand(1, District::getRowsNumber()); $jobSubCategoryId = rand(1, JobSubCategory::getRowsNumber()); $salaryLow = rand(20, 200) * 1000; $salaryRange = rand(5, 30) * 1000; $daysOffset = -60 + rand(1, 90); $startDate = strtotime(sprintf("%+d", $daysOffset) . " day"); $endDate = strtotime(sprintf("%+d", $daysOffset + 30) . " day"); /* Processing this information */ $workType = WorkType::getWorkTypeName(WorkType::getWorkType($workTypeId)); $district = District::getDistrict($districtId); $districtName = District::getDistrictName($district); $regionName = Region::getRegionName(Region::getRegion(District::getRegionId($district))); $jobSubCategory = JobSubCategory::getJobSubCategory($jobSubCategoryId); $jobSubCategoryName = JobSubCategory::getJobSubCategoryName($jobSubCategory); $jobCategoryId = JobSubCategory::getJobCategoryId($jobSubCategory); $jobCategoryName = JobCategory::getJobCategoryName(JobCategory::getJobCategory($jobCategoryId)); $salaryHigh = $salaryLow + $salaryRange; $jobTitle = "Job in {$regionName}"; $jobDescription = "{$jobSubCategoryName} " . strtolower($workType) . " job in {$districtName}, {$regionName}, in the domain of {$jobCategoryName}, salary from \${$salaryLow} to \${$salaryHigh}.\n"; $jobDescription .= "Posted on " . date("D, jS \\of F, Y", $startDate) . ", valid until " . date("D, jS \\of F, Y", $endDate); /* Now build the query with the values generated above */ /* job_id */ $values = "NULL"; //AUTO_INCREMENT field /* job_title */ $values .= ", '{$jobTitle}'"; /* job_description */ $values .= ", '{$jobDescription}'"; /* work_type_id */ $values .= ", '{$workTypeId}'"; /* district_id */ $values .= ", '{$districtId}'"; /* subcategory_id */ $values .= ", '{$jobSubCategoryId}'"; /* salary_low */ $values .= ", '{$salaryLow}'"; /* SalaryHihg */ $values .= ", '{$salaryHigh}'"; /* start_ad_date */ /* format: '2013-05-14 00:00:00' */ $values .= ", '" . date("Y-m-d 00:00:00", $startDate) . "'"; /* end_ad_date */ $values .= ", '" . date("Y-m-d 00:00:00", $endDate) . "'"; /* Build the query */ $query = Job::insertRowQuery($values); return $query; }
public static function getDistrict($job) { /* job -> DistrictId => District row -> district_name */ /* -> is array access; => is query access */ return District::getDistrictName(District::getDistrict(self::getDistrictId($job))); }
protected function jsDistrictUpdate() { $output = ""; /* create the region <-> district connection */ $output .= "var districtNames = new Array();\n"; $output .= "var districtIds = new Array();\n"; $output .= "districtNames[" . static::anyRegionCode . "] = [\"Select region first\"];\n"; $output .= "districtIds[" . static::anyRegionCode . "] = [\"" . static::anyDistrictCode . "\"];\n"; $regionList = Region::getAllRows(); $regionCount = 0; while (($region = $regionList->fetch_row()) != NULL) { $regionId = Region::getRegionId($region); $districtList = District::getDistrictList($regionId); /* first the district names */ $output .= "districtNames[{$regionId}] = [\"Any district\""; while (($district = $districtList->fetch_row()) != NULL) { $output .= ", \"" . District::getDistrictName($district) . "\""; } $output .= "];\n"; /* then the district Ids */ $output .= "districtIds[{$regionId}] = [\"" . static::anyDistrictCode . "\""; $districtList->data_seek(0); while (($district = $districtList->fetch_row()) != NULL) { $output .= ", \"" . District::getDistrictId($district) . "\""; } $output .= "];\n"; } /* print the districtUpdate() function */ /* the below code is JavaScript */ $output .= "\n"; $output .= "districtList = document." . static::formName . "." . static::districtIdFieldName . ";\n"; $output .= "function districtUpdate(selectedRegionId){\n"; $output .= " districtList.options.length = 0;\n"; $output .= " for (i=0; i < districtNames[selectedRegionId].length; i++) {\n"; $output .= " districtList.options[districtList.options.length] = new Option(districtNames[selectedRegionId][i],districtIds[selectedRegionId][i]);\n"; $output .= " }\n"; $output .= "}\n"; return $output; }