#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
}