我正在尝试(没有成功)使用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>
我试过这个......但是当我运行它时我遇到了一些错误;这是我的Codeigniter代码:
我的“查看”文件:
<?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>
这是我的Crudmodel文件:
<?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;
}
}
?>
控制器文件:
<?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/607303edcd861d0a2257611c925f3e6e.png
https://i.gyazo.com/eb9d833bf5d0818db2906ec1447550c0.png
https://i.gyazo.com/c5bb77d50315888a375a1e775a5ad68c.png
希望你能帮助我
答案 0 :(得分:0)
使用$ data
在控制器上传递这样的数据
class Home extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('crudmodel');
}
public function index(){
$data['records'] = $this->crudmodel->getRecords();
// Load views like so so don't have to use include
$this->load->view('header');
$this->load->view('home', $data);
$this->load->view('footer');
}
}
// ?> No need for php close on controllers and models etc.
https://www.codeigniter.com/user_guide/general/views.html#loading-multiple-views完全阅读
https://www.codeigniter.com/user_guide/general/views.html#adding-dynamic-data-to-the-view
Codeigniter拥有自己的数据库库加载数据库 在codeigniter中
https://www.codeigniter.com/user_guide/database/configuration.html
配置/ database.php中
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '****',
'database' => 'database_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array()
);
然后自动加载它。也可以自动加载一些库和帮助程序。完整阅读本手册。
配置/ autoload.php
$autoload['libraries'] = array('database');
这里也有一些好的阅读
https://www.codeigniter.com/user_guide/general/models.html#loading-a-model
并且
https://www.codeigniter.com/user_guide/general/views.html#loading-multiple-views
https://www.codeigniter.com/user_guide/general/styleguide.html#php-closing-tag
答案 1 :(得分:0)
<?php
class Home extends CI_Controller{
public function index(){
$this->load->model('Crudmodel');
$data['records'] = $this->Crudmodel->getRecords();
$this->load->view('home', $data);
}
}
?>
&#13;
您必须将数组从控制器传递到视图。