ArgumentCountError Слишком мало аргументов для функции 1, переданных ровно в 9 ожидаемых - PullRequest
0 голосов
/ 23 марта 2020

У меня есть следующая ошибка на codeigniter

Сообщение: слишком мало аргументов для функции ManageSupplierfull :: updatesupplier (), 1 передано в C: \ Program Files (x86) \ Ampps \ www\codetest \ system \ core \ CodeIgniter. php в строке 532 и ожидается ровно 9

Мой контроллер ManageSupplierfull. php

public function updatesupplier($name,$email,$phone,$company,$address,$city,$region,$country,$postbox) {


   $result['data']=$this->NewSuppliermodel->updaterecords($get['sid']);
  if($this->input->post('update'))
    {

    $name=$this->input->post('name');
    $email=$this->input->post('email');
    $phone=$this->input->post('phone');
    $company=$this->input->post('company');
    $address=$this->input->post('address');
    $city=$this->input->post('city');
    $region=$this->input->post('region');
    $country=$this->input->post('country');
    $postbox=$this->input->post('postbox');
    $result['data']=$this->NewSuppliermodel->updaterecords($name,$email,$phone,$company,$address,$city,$region,$country,$postbox);

   $this->session->set_flashdata('msg', 'Updated Successfully!');
    }

  }

Моя модель NewSuppliermodel. php

public function updaterecords($name,$email,$phone,$company,$address,$sid,$city,$region,$country,$postbox)
  {
  $query=$this->db->query("update suppliers SET name='$name',email='$email',phone='$phone',company='$company',address='$address',city='$city',region='$region',country='$country',postbox='$postbox' where sid='".$sid."'");
   return $query->result();
  } 

Мой вид

 <?php
  $i=1;
  foreach($data as $row)
  {
    ?>
    <form class="form" method="post" action="<?php echo base_url('app/managesupplierfull/updatesupplier/'.$row->sid) ?>">

                                            <div class="row">
                                                <div class="col">
                                                    <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="simpleinput">Name</label>
                                                        <div class="col-lg-10">
                                                            <input type="text" class="form-control" id="simpleinput" name="name"  value="<?php echo $row->name; ?>" required
                                                               >
                                                        </div>
                                                    </div>


                                                    <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="example-email">Email</label>
                                                        <div class="col-lg-10">
                         <input type="email" id="example-email" name="email"
                                      value="<?php echo $row->email; ?>"                          class="form-control" required="">
                                                        </div>
                                                    </div>
                                                  <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="simpleinput">Company</label>
                                                        <div class="col-lg-10">
                                                            <input type="text" class="form-control" id="simpleinput" name="company" value="<?php echo $row->company; ?>"
                                                               >
                                                        </div>
                                                    </div>
 <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="simpleinput">Phone</label>
                                                        <div class="col-lg-10">
                                                            <input type="text" class="form-control" id="simpleinput" name="phone" value="<?php echo $row->phone; ?>"
                                                               >
                                                        </div>
                                                    </div>

                                                    <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="example-textarea">Address</label>
                                                        <div class="col-lg-10">
                                                            <textarea class="form-control" rows="5"
                                                             name="address" placeholder="" id="example-textarea"><?php echo $row->address; ?></textarea>
                                                        </div>
                                                    </div>

                                       <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="simpleinput">City</label>
                                                        <div class="col-lg-10">
                                                            <input type="text" class="form-control" id="simpleinput" name="city" value="<?php echo $row->city; ?>"
                                                               >
                                                        </div>
                                                    </div>
                                                   <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="simpleinput">Region</label>
                                                        <div class="col-lg-10">
                                                            <input type="text" class="form-control" id="simpleinput" name="region" value="<?php echo $row->region; ?>"
                                                               >
                                                        </div>
                                                    </div>


                                                   <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="simpleinput">Country</label>
                                                        <div class="col-lg-10">
                                                            <input type="text" class="form-control" id="simpleinput" name="country" value="<?php echo $row->country; ?>"
                                                               >
                                                        </div>
                                                    </div>
                                                    <div class="form-group row">
                                                        <label class="col-lg-2 col-form-label"
                                                            for="simpleinput">Post Box</label>
                                                        <div class="col-lg-10">
                                                            <input type="text" class="form-control" id="simpleinput" name="postbox" value="<?php echo $row->postbox; ?>"
                                                               >
                                                        </div>
                                                    </div>
                                                    <?php } ?>
   <button type="submit" name="update" class="btn btn-primary">Update</button>
                                                </div>

                                            </div>



                                        </form>

У меня есть таблица в другом виде, когда я нажимаю кнопку обновления, она открывается новая страница и эта форма отображают существующие данные по идентификатору, а при нажатии кнопки «Обновить» они должны отображаться только в текущем идентификаторе, но аргументы не передаются.

1 Ответ

0 голосов
/ 23 марта 2020

Попробуйте обновить контроллер так:

public function updatesupplier($sid) { // changed & removed unused parameters

  if($this->input->post('update'))
    {

    $name=$this->input->post('name');
    $email=$this->input->post('email');
    $phone=$this->input->post('phone');
    $company=$this->input->post('company');
    $address=$this->input->post('address');
    $city=$this->input->post('city');
    $region=$this->input->post('region');
    $country=$this->input->post('country');
    $postbox=$this->input->post('postbox');
    $result['data']=$this->NewSuppliermodel->updaterecords($name,$email,$phone,$company,$address,$sid,$city,$region,$country,$postbox); // added missing $sid parameter

   $this->session->set_flashdata('msg', 'Updated Successfully!');
    }

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...