Welcome Guest, Not a member yet? Register   Sign In
Need Help Solve this Problem
#1

[eluser]Unknown[/eluser]
Hey guy's i'm new with codeigniter . I need your help with this code

i have a table like this
Code:
CREATE TABLE IF NOT EXISTS `penerbit` (
  `kd_penerbit` char(5) NOT NULL,
  `nm_penerbit` varchar(40) NOT NULL,
  `alamat` varchar(200) NOT NULL

+-------------+-----------------------+--------------------------------------+
| kd_penerbit | nm_penerbit           | alamat                               |
+-------------+-----------------------+--------------------------------------+
| PN001       | Penerbit ANDI         | Jl.Beo, Sleman, Jogjakarta           |
| PN002       | Elex Media Komputindo | Jl.Palmerah Selatan, Jakarta Pusat   |
| PN003       | Gava Media            | Jl.Solo,Kota Baru, Bantul,Jogjakarta |
| PN004       | Ardana Media          | Jl.Magelang,Mlati,Sleman,Jogjakarta  |
| PN005       | Graha Ilmu            | Condong Catur, Sleman, Jogjakarta    |
+-------------+-----------------------+--------------------------------------+

My Controller
Code:
<?php
class kdauto extends Controller
{
    function C_penerbit()
    {
        parent::Controller();
    }

    function index()
    {
        $this->load->model('m_kdauto');
        $data['kd_baru'] = $this->m_kdauto->kdauto("penerbit", "PN");
        $this->load->view('v_kdauto', $data);
    }
}
?>

Model
Code:
<?php
class M_kdauto extends Model
{
   function kdauto($tabel, $inisial)
   {
      $struktur = $this->db->query("SELECT * FROM ".$tabel);
      $fields = $struktur->field_data();
      $i = 0;
      $panjang = 0;
      $field = 0;
      foreach ($struktur->list_fields() as $kolom)
      {
         $field[i] = $kolom;
         $i++;
      }
        $qry = $this->db->query("SELECT max(".$field.") FROM ".$tabel);
      $result=$qry->result_array();
      if ($result[0]== "")
      {
          $angka = 0;
      }
      else
      {
          $angka = substr($result[0],'',strlen($inisial));
      }
      $angka++;
      $angka = strval($angka);
      $tmp = "";
           for($i=1; $i<=($panjang-strlen($inisial)-strlen($angka)); $i++)
           {
              $tmp = $tmp."0";
          }
        return $inisial.$tmp.$angka;
   }
}
?&gt;

View
Code:
&lt;html&gt;
&lt;body&gt;
<div>&lt;?php echo $kd_baru; ?&gt;</div>
&lt;/body&gt;
&lt;/html&gt;

with those code i have an error like this
Code:
A PHP Error was encountered

Severity: Warning

Message: substr() expects parameter 1 to be string, array given

Filename: models/m_kdauto.php

Line Number: 24

i want output for kd_penerbit auto increment like PN007, PN008
can you help me solve this problem ?? Sorry for my bad english , i'm from indonesian

Thank for your help
#2

[eluser]dudeami0[/eluser]
For the error message you've given, you seem to be mixing up $query->result_array() with $query->row_array().

$query->result_array() returns a 2 Dimensional Array of results, like:

Code:
Array(
   Array( // First result
      'col1' => 'whatever',
      'col2' => 'whatever',
      'col3' => 'whatever',
      ...
   ),
   Array( // Second result
      'col1' => 'whatever',
      'col2' => 'whatever',
      'col3' => 'whatever',
      ...
   ),
   ...
)

where row_array() would return a 1 Dimensional Array, like:

Code:
Array( // First row
   'col1' => 'whatever',
   'col2' => 'whatever',
   'col3' => 'whatever',
   ...
)

Hope this helps!




Theme © iAndrew 2016 - Forum software by © MyBB