При нажатии кнопки Отправить тип ввода создайте запрос

#mysql #codeigniter

Вопрос:

новичок здесь. В настоящее время я создаю систему сопоставления, в которой владельцы будут регистрировать свои записи. Как только это будет сделано, я нажму кнопку «совпадение», и она сгенерирует совпадение. Логика сопоставления зависит от веса.

Например, если владелец 1 и владелец 2 зарегистрировали запись/записи, имеющие вес 1900, они будут автоматически сопоставлены. (Как вы можете видеть на 2-й таблице)

Как я могу достичь этих своих целей? Заранее благодарю вас, ребята.

 tbl_entry

    |id| entryName| lightBand| weight  |
    |---| --------| -----    |---------|
    | 1 | owner1  |     1    |  1900   |
    | 2 | owner1  |     2    |  1920   |
    | 3 | owner2  |     3    |  1900   |
    | 4 | owner3  |     4    |  1910   |
    | 5 | owner4  |     5    |  1910   |
    
    tbl_matching
    | id  |fightID| entryName| lightBand| weight  | entryName| lightband1| weight1|
    |---- |--------| --------| -----    |---------|--------   |----------|--------|
    |  1  |   1    | owner1  |     1    |  1900   | owner2    |   3      |  1900  |   
    |  2  |   2    | owner3  |     4    |  1910   | owner4    |   5      |  1910  |
    |  3  |   -    | owner2  |    -     |    -    |   -       |   -      |   -    |
 

HTML:

 <form action="transaction/match" method="POST">
<input type="submit" name="doMatch"> match 
</form>
 

Контроллер:

 public function match {

$formSubmit = $this->input->post('doMatch');

// do the matching query here


}
 
  • (дефис/тире) <<<

Ответ №1:

Примечание: Я использую codeigniter3. Во-первых, я никогда не использовал <input type = "submit"> раньше, обычно я использую <input type="text"> и нажимаю кнопку «Отправить». Допустим, у вас есть

 <input type="text" name="entryName">
<input type="text" name="weight">
... etc
 

вы можете поместить это в свой контроллер (для более позднего использования вы должны использовать Control -> Model)

     $weight = $this->input->post('weight'); //get your weight input

    //get the opponent data based on weight input
    $result = $this->db->get_where('tbl_entry', ['weight' => $weight])->row_array();

    //check if the result is not null
    if ($result != null) {
        $submit = [
             //I assume that your ID is autoincrement
            'fightID' => 'fight ID', //you can make a function for fight ID and put the result like $fight_ID
            'entryName' => $this->input->post('entryName'),
            'lightBand' => $this->input->post('lightBand'),
            'weight' => $weight,
        ];
        $data[] = array_merge($submit, $result); //merge the entry and the result into 1 array

        $this->db->insert('tbl_matching', $data); //insert it into your table matching
    }
    else {
      //like above, but just change it to '-' instead of input->post
    }