Я использую платформу Codeigniter, и у меня есть форма с полями ввода. Когда я хочу вставить значения полей ввода в базу данных, я использую этот код
function add($tableName)
{
$fieldsData = $this->db->field_data($tableName); // to get all fields name of the table like (id,title,post .. )
foreach ($fieldsData as $key => $field)
{
$datacc = array( $field->name => $this->input->post($field->name) );
echo $this->input->post($field->name) ; // when I submit the form I get all that data I need like (mySubjet, MyPost...)
} // but when I insert the data it insert just the last filed like ( cat_id = 3 ) only !// and the other fields are empty ..
$this->db->insert($tableName, $datacc);
}
, поэтому я получаю только последнее значение, вставленное в базу данных, но когда я помещаю строку запроса в цикл foreach
, например:
function add($tableName)
{
$fieldsData = $this->db->field_data($tableName);
$datacc = "";
foreach ($fieldsData as $key => $field)
{
$datacc = array( $field->name => $this->input->post($field->name) );
$this->db->insert($tableName, $datacc); // inside the loop !
}
}
вставляет 15 записей / строк (количество полей в таблице) и вставляет уникальное значение для каждой строки. Вставляет поле TITLE
в первый ряд, поле POST
в следующий ряд и поле dateOfpost
в третий и т. Д.