Почему мой SAW (простое добавочное взвешивание) не может показать результат? - PullRequest
0 голосов
/ 29 января 2019

Я хочу показать результат моего SAW-кода, но когда я его загружаю, он просто показывает «Отправленный вами запрос недействителен».Затем, если я использую implode для сбора моей переменной, например $skill, у меня появляется сообщение об ошибке типа «навык унифицированного индекса».Пожалуйста, помогите мне.

Это код SAW

    // collect skill
    $skill = array();
    $sk = $_POST["skill"];
    foreach ($sk as $sek) {
        array_push($skill, "'".$sek."'");
    }
    $skills = implode(",",$skill);

    // collect nilai
    $nilai = $this->input->post("nilai");

    //collect gaji
    $gaji = $this->input->post("gaji");

    // collect Lokasi
    $lokasi = ($this->input->post("lokasi") == "0" ? false : true);

    // collect jurusan
    $jurusan = $this->input->post("jurusan");

    $sql = $this->model_data->getRating($skills, $nilai, $gaji, $lokasi, $jurusan);

    $result = $this->db->query("$sql")->result();

    $saw = new Algoritma();
    // menambahkan Kriteria
    $saw->addCriteria("skill",$this->input->post("bobot_skill")/100,"1");
    $saw->addCriteria("nilai",$this->input->post("bobot_nilai")/100,"0");
    $saw->addCriteria("gaji",$this->input->post("bobot_gaji")/100,"0");
    $saw->addCriteria("lokasi",$this->input->post("bobot_lokasi")/100,"1");
    $saw->addCriteria("jurusan",$this->input->post("bobot_jurusan")/100,"1");


    foreach ($result as $hasil) {
        $alt = new Alternative("$hasil->kode_lowongan","$hasil->nama_perusahaan");
        $alt->addCriteria("skill",$hasil->skill);
        $alt->addCriteria("nilai",$hasil->nilai);
        $alt->addCriteria("gaji",$hasil->gaji);
        $alt->addCriteria("lokasi",$hasil->lokasi);
        $alt->addCriteria("jurusan",$hasil->jurusan);

        $saw->addAlternative($alt);
    }
    $saw->generate();
    $rekomendasi = $saw->data;
    for ($i=0; $i < count($rekomendasi); $i++) {
        for ($j=($i+1); $j < count($rekomendasi); $j++) {
            if($rekomendasi[$i]->preferensi < $rekomendasi[$j]->preferensi){
                $temp = $rekomendasi[$i];
                $rekomendasi[$i] = $rekomendasi[$j];
                $rekomendasi[$j] = $temp;
            }
        }
    }
    $data["hasil"] = $rekomendasi;
    $this->load->view("home/sawhasil",$data);
}

Я использовал Codeigniter для кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...