2017-03-27 25 views
0

私はPHPでプログラムを作成しましたが、正しく動作します(phpプログラムはcodeigniterのバージョンではなく正しく動作します)。さて、私はCodeigniterを使ってそのプログラムを作りたいと思っています。codeigniterでデータを取得する際にエラーが発生しました

私の "ビュー" ファイル:

これは私のCodeIgniterのコードである

<?php include('connect.php'); 

?> 

<html> 
<head> 

    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 

</head> 
    <body> 

    <div class="container"> 
    <div class="row"> 
    <div class="col-md-12"> 



    <a href="estudiante.php"><button type="button" class="btn btn-success">AGREGAR</button></a><br /><br /> 
     <h2 align="center">TABLA:MATERIAS</h2> 
     <input id="busqueda_tabla" type="text"> 
      <table class="table table-hover" align="center" border="1" cellspacing="0" cellpadding="0" width="700" id="tabla_busqueda"> 
       <thead> 
        <th>id</th> 
        <th>Carrera</th> 
        <th>Nombre</th> 
        <th>Descripcion</th> 
        <th>Carga horaria (hs)</th> 
        <th>Accion</th> 
       </thead> 

    <?php 

       $sql=mysql_query("SELECT s.*, c.nombre AS carrera FROM materias s LEFT JOIN carreras c ON s.carrera_id=c.id");//ESTA FUNCION ME AYUDA A ACOMODAR LAS CARRERAS EN LA COLUMNA "CARRERA" DE LA TABLA 
       $i=1; 
        while($row=mysql_fetch_array($sql)){ 
         echo "<tr> 
           <td>".$i."</td> 
           <td>".$row['carrera']."</td> 
           <td>".$row['nombre']."</td> 
           <td>".$row['descripcion']."</td> 
           <td>".$row['carga_horaria']."</td> 
           <td align='center'> 
            <a href='editar.php?editar=1&iden=".$row['id']."'><button type='button' class='btn btn-primary'>EDITAR</button></a> | 
            <a href='borrar.php?borrar=1&iden=".$row['id']."'><button type='button' class='btn btn-danger'>BORRAR</button></a> 
           </td> 
         </tr>"; 
         $i++; 

        } 
       ?> 


      </table>  

     </div> 
     </div> 
     </div> 

    </body> 



</html> 

そして、 "connect.php" ファイル

<?php 

    $con=mysql_connect('localhost','root','root')OR die('error : '.mysql_error()); 
    $db=mysql_select_db('desafio'); 

    if($db){ 
     echo ''; 

    }else{ 
     echo 'Error :' .mysql_error(); 
    } 


?> 

:ここ

は私のPHPのプログラムであり、

<?php include('header.php'); ?> 

<?php include('footer.php'); ?> 


    <div class="container"> 
    <div class="row"> 
    <div class="col-md-12"> 

     <h2 align="center">TABLA:MATERIAS</h2> 
     <input id="busqueda_tabla" type="text"> 
      <table class="table table-hover" align="center" border="1" cellspacing="0" cellpadding="0" width="700" id="tabla_busqueda"> 
       <thead> 
        <th>id</th> 
        <th>Carrera</th> 
        <th>Nombre</th> 
        <th>Descripcion</th> 
        <th>Carga horaria (hs)</th> 
        <th>Accion</th> 
       </thead> 


    <?php 
     $i=1; 
     foreach($records as $record) { 

      echo "<tr> 
         <td>".$i."</td> 
         <td>".$record->carrera."</td> 
         <td>".$record->nombre."</td> 
         <td>".$record->descripcion."</td> 
         <td>".$record->carga_horaria."</td> 
         <td align='center'> 
         <a href='editar.php?editar=1&iden=".$record->id."'><button type='button' class='btn btn-primary'>EDITAR</button></a> | 
         <a href='borrar.php?borrar=1&iden=".$record->id."'><button type='button' class='btn btn-danger'>BORRAR</button></a> 
         </td> 
        </tr>"; 
     } 
     $i++; 
    ?> 
    </table> 

     </div> 
     </div> 
     </div> 

ここは私のCrudmoですデルファイル:

 <?php 

    Class Crudmodel extends CI_Model{ 

     public function getRecords(){ 

      $this->db->select('s.*, c.nombre AS carrera') 
        ->from('materias s') 
        ->join('carreras c', 's.carrera_id = c.id', 'left'); 
      $q = $this->db->get(); 

      if($q -> num_rows() > 0){ 

       return $q->result(); 
      } 

      return false; 

     } 

    } 


?> 

とコントローラファイル:

https://i.gyazo.com/607303edcd861d0a2257611c925f3e6e.png 
https://i.gyazo.com/eb9d833bf5d0818db2906ec1447550c0.png 
https://i.gyazo.com/c5bb77d50315888a375a1e775a5ad68c.png 

私のデータベースと自動ロードファイル:

<?php 

    class Home extends CI_Controller{ 

     public function index(){ 
      $this->load->model('Crudmodel'); 
      $data['records'] = $this->Crudmodel->getRecords(); 
      $this->load->view('home', $data['records']); 

     } 
    } 
?> 

しかし、それは動作しません、私はこのエラーを得た

https://i.gyazo.com/ef7eb80b6f484e4831b78a3408a05b48.png 
https://i.gyazo.com/ecf3de9845ed039f877613ffef4e6aa7.png 

何をすべきかわからない:/、can hel私はそれを把握するために私は?

+0

重複http://stackoverflow.com/questions/10759334/headers-and-client-library-minor-version-mismatch – Kisaragi

答えて

0

は、ビューに、コントローラからのデータを渡すと、それを代わりに

$sql=mysql_query("SELECT s.*, c.nombre AS carrera FROM materias s LEFT JOIN carreras c ON s.carrera_id=c.id"); 
+0

コントローラであなたのヘッダーとフッターをロードMate、その行は "古い"コードに属します。正常に動作していますが、問題はCodeigniterのバージョンです:S –

0

$sql=mysql_query("SELECT s.*, c.nombre AS carrera FROM materias s LEFT JOIN carreras c ON s.carrera_id=c.carrera_id"); 

を使用して、配列ではなく、単純な変数として渡します。
config/databaseのすべてのパラメータで接続を確認してください。

<?php 
 

 
    class Home extends CI_Controller{ 
 

 
     public function index(){ 
 
      $this->load->model('Crudmodel'); 
 
      $data['records'] = $this->Crudmodel->getRecords(); 
 
      $this->load->view('header'); 
 
      $this->load->view('home', $data); 
 
      $this->load->view('footer'); 
 
     } 
 
    } 
 
?>

関連する問題