2016-01-06 2 views
0

Я пытаюсь сделать отметку в php, mysql с помощью CodeIgnitor. Я использовал XAMPP и создал базу данных. Для хранения каждой записи. Данные извлекаются из базы данных. Новая запись вставляется успешно отредактирована.Программа Marksheet: добавление в codeignitor

Но проблема заключается в извлечении суммы. Это не означает, что сумма ответов означает общие оценки. Я вставляю код здесь, пожалуйста, помогите мне или исправьте меня. Если я ошибаюсь, поскольку я новичок в CodeIgnitor.

Я также пробовал функцию array_sum(), но это также не давало мне ответа. И это не дает мне никакой ошибки в отношении кода или любого запроса. Либо запрос о сумме в меток является неправильным, либо ответ не может быть получен по представлению.

Модель/marksheet.php файл

function tm() { 
    $data = array(
       'math' => $_POST['math'], 
       'eng' => $_POST['eng'], 
       'bio' => $_POST['bio'], 
       'total_marks' => $_POST['total_marks']); 
       $this->db->insert('marks', $data); 

    // $mark = array_sum($data); 

    $mark= $_POST['math'] + $_POST['eng'] + $_POST['bio']; 
    return $mark; 
} 

Контроллер/welcome.php файл

public function sum() { 
    $data['page_title'] = "New report"; 
    $data['msg']=""; 

    if(isset($_POST['saveit'])) { 
    $this->Marksheet->tm(); 
    //$data['marks_obt'] = $this->Marksheet->$mark; 
    $data['msg']="report added"; 
    } 

    $this->load->view('header',$data); 
    $this->load->view('welcome_create', $data); 
} 

вид/welcome_create.php файл

Я хочу быть мое общее метки в текстовом поле.

<table> 
    <tr> 
    <td>MO</td> 
    <td><input type="text" value="<?php if (isset($mark)) echo $mark ?>"/> </td> 
    </tr> 
    <tr> 
    <td><input type="submit" name="saveit" id="saveit" value="Save"/></td> 
    <td><input type="button" name="cancel" id="cancel" value="Cancel"/></td> 
    </tr> 
</table> 

ответ

0
  1. вам нужно использовать $this->input->post('math'); вместо $_POST['math']
  2. var_dump() входящие значения, если они являются строка, которую вы должны преобразовать их в целое. вы не можете добавить эти значения, например: «4» (строка) + 5 (целое число)
  3. Если входящие данные являются строкой, вам необходимо преобразовать их в целое.

    $math = "23"; $math = intval($math);

+0

не нужно, чтобы преобразовать его в междунар. PHP автоматически конвертирует его. – Vinie

Смежные вопросы