Как получить несколько значений из разных баз данных (или моделей) в codeigniter?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как получить несколько значений из разных баз данных (или моделей) в codeigniter?

Сообщение Anonymous »

У меня есть 3 таблицы следующим образом:

Experiments_table
  • id
  • метод
  • result loq_value min_clb_value max_clb_value
  • std_deviation
Таблица_элементов
  • Элемент списка
  • id
  • experiment_id
  • связанная_таблица
  • sampling_method
  • reg_value
Таблица_выборок
  • метод_выборки
  • связанная_таблица,
когда я выбираю метод_выборки и связанную_таблицу в таблице_выборок, я хочу автоматически создать эту таблицу;

expirement_id || метод || результат || стандартное_отклонение || reg_value

сначала получите Experiment_ids из таблицы элементов с помощью sample_table.related_table и sample_method и заполните Experiment_id и reg_value в этой таблице.

затем получите другие параметры (метод, результат и std_deviation) из таблицы экспериментов с Experiment_id, найденные на первом этапе из таблицы элементов.

как это сделать в codeigniter 3? пожалуйста, дайте мне предложение (представление, modal_form, модель и контроллер).

это моя модель -> sample_items_model.php

function get_item_suggestion($keyword = "") {
$experiments_table = $this->db->dbprefix('experiments');

$sql = "SELECT $experiments_table.title
FROM $experiments_table
WHERE $experiments_table.deleted=0 AND $experiments_table.title LIKE '%$keyword%'
LIMIT 30
";
return $this->db->query($sql)->result();
}

function get_item_info_suggestion($item_name = "") {

$experiments_table = $this->db->dbprefix('experiments');

$sql = "SELECT $experiments_table.*
FROM $experiments_table
WHERE $experiments_table.deleted=0 AND $experiments_table.title LIKE '%$item_name%'
ORDER BY id DESC LIMIT 1
";

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

if ($result->num_rows()) {
return $result->row();
}

}


это мой контроллер -> sample.php

/* prepare suggestion of sample item */

function get_sample_item_suggestion() {
$key = $_REQUEST["q"];
$suggestion = array();

$items = $this->Sample_items_model->get_item_suggestion($key);

foreach ($items as $item) {
$suggestion[] = array("id" => $item->title, "text" => $item->title);
}

$suggestion[] = array("id" => "+", "text" => "+ " . lang("create_new_item"));

echo json_encode($suggestion);
}

function get_sample_item_info_suggestion() {
$item = $this->Sample_items_model->get_item_info_suggestion($this->input->post("item_name"));
if ($item) {
echo json_encode(array("success" => true, "item_info" => $item));
} else {
echo json_encode(array("success" => false));
}
}


и это мой скрипт modal_form -> item_modal_form.php

function applySelect2OnItemTitle() {
$("#sample_item_title").select2({
showSearchBox: true,
ajax: {
url: "",
dataType: 'json',
quietMillis: 250,
data: function (term, page) {
return {
q: term // search term
};
},
results: function (data, page) {
return {results: data};
}
}
}).change(function (e) {
if (e.val === "+") {
//show simple textbox to input the new item
$("#sample_item_title").select2("destroy").val("").focus();
$("#add_new_item_to_library").val(1); //set the flag to add new item in library
} else if (e.val) {
//get existing item info
$("#add_new_item_to_library").val(""); //reset the flag to add new item in library
$.ajax({
url: "",
data: {item_name: e.val},
cache: false,
type: 'POST',
dataType: "json",
success: function (response) {

//auto fill the method, unit type and rate fields.
if (response && response.success) {

if (!$("#sample_item_method").val()) {
$("#sample_item_method").val(response.item_info.method);
}

if (!$("#sample_conc_type").val()) {
$("#sample_conc_type").val(response.item_info.conc_type);
}

if (!$("#sample_item_result").val()) {
$("#sample_item_result").val(response.item_info.result);
}

if (!$("#sample_item_loq_value").val()) {
$("#sample_item_loq_value").val(response.item_info.loq_value);
}

if (!$("#sample_item_min_clb_value").val()) {
$("#sample_item_min_clb_value").val(response.item_info.min_clb_value);
}

if (!$("#sample_item_max_clb_value").val()) {
$("#sample_item_max_clb_value").val(response.item_info.max_clb_value);
}

if (!$("#sample_item_std_deviation").val()) {
$("#sample_item_std_deviation").val(response.item_info.std_deviation);
}
}
}
});
}

});
}


Подробнее здесь: https://stackoverflow.com/questions/461 ... odeigniter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»