Php網站建立

網站建立

碼代碼前應該首先確定這個網站的數據庫需要哪些表單,每一個表單有哪些信息,比如你要展示產品,你就要一個展示產品封面的表單tb_album(以此爲例)等等,tb_album裏面需要有id,type,price,album_url,intro等信息。然後在控制器tb_album裏面寫相應的方法,model裏面寫數據庫操作,view裏面寫展示界面。

//控制器tb_album

<?php

class Tb_album extends CI_Controller{

var $flag='';

var $type='';

function __construct(){

        parent::__construct();

        $this->load->helper('url');

        $this->load->model('Album_model','',TRUE);

    }

function show($flag){

if ($flag!='2'||$flag!='3'||$flag!='4') {

$album=$this->Album_model->getAll();

$data['album']=$album;

}

if($flag=='2'){

$album=$this->Album_model->getClass();

$data['album']=$album;

}

if($flag=='3'){

$album=$this->Album_model->getLovers();

$data['album']=$album;

}

if($flag=='4'){

$album=$this->Album_model->getOneself();

$data['album']=$album;

}

$this->load->view('album/show_pic',$data);

}

function album_add(){

$this->load->view('album/show_add');

}

function album_do_add(){

$data['type'] = $this->input->post('type');

$data['price'] = $this->input->post('price');

        $data['intro'] = $this->input->post('intro');

        

        $config['upload_path'] ='./source/uploads/';

    $config['file_name']=uniqid();

    $config['allowed_types'] = 'gif|jpg|png|jpeg|bmp';

    $this->load->library('upload',$config);

    if (!$this->upload->do_upload('userfile'))

    {

   $error = array('error' => $this->upload->display_errors());

    }else{

   $arr=$this->upload->data();

   $path='source/uploads/'.$arr['file_name'];

    }

        $data['album_url']=$path;

$this->Album_model->album_insert($data);

redirect("tb_album/album_add","refresh");

}

function album_delete($id,$type){

$this->Album_model->album_delete($id);

redirect("tb_album/show/$type","refresh");

}

function album_updata($id){

$que=$this->Album_model->getByid($id);

$data['result']=$que;

        $this->load->view('album/show_updata',$data);

}

function album_do_updata(){

$id = $this->input->post('id');

$data['type'] = $this->input->post('type');

$data['price'] = $this->input->post('price');

        $data['intro'] = $this->input->post('intro');

        

        $config['upload_path'] ='./source/uploads/';

    $config['file_name']=uniqid();

    $config['allowed_types'] = 'gif|jpg|png|jpeg|bmp';

    $this->load->library('upload',$config);

    if (!$this->upload->do_upload('userfile'))

    {

   $error = array('error'=> $this->upload->display_errors());

    }else{

   $arr=$this->upload->data();

   $path='source/uploads/'.$arr['file_name'];

    }

        $data['album_url']=$path;

        $this->Album_model->album_updata($id,$data);

        redirect('tb_album/show/1','refresh');

}

}

?>

控制器裏面寫的就是之前寫的數據庫的增、刪、改,只不過之前寫的沒用到model,這次是將數據庫寫到model裏面,然後$this->Album_model->方法名();加載model,這樣寫的話更加規範,網站比較大時後期維護更加容易。

然後views裏面新建一個album文件夾,裏面實現界面展示,拿show_pic爲例。

<!DOCTYPE html>

<html>

<head>

<title>電子產品列表</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" type="text/css" href="<?php echo  base_url()?>source/css/contract.css">

</head>

  <body>

<table>

      

<th>ID</th>

<th>類型</th>

<th>價格</th>

<th>文字介紹</th>

<th>照片</th>

  

<th colspan="2" style="text-align: center;width: 100px">操作</th>

  

<?php foreach ($album as $item):?>

  <tr>

   <td name="id" style="text-align: center;"><?php echo $item->id?></td>

  <td name="type" width="300px" style="text-align: center;"><?php echo  $item->type?></td>

  <td name="price" width="300px" style="text-align: center;"><?php echo    $item->price?></td>

  <td name="intro" width="400px" style="text-align: center;">

      <div style="text-align: center;width:200px"><?php echo $item->intro?></div></td>

<td class="photo" style="text-align: center;"><a href="<?php if($item->album_url!=''){echo '';}else {echo site_url("uploads/upload/$item->type");}?>"><img width="100" height="100" alt="" src="<?php echo  base_url().$item->album_url?> "></a></td>

      <td style="text-align: center;width: 100px"><a onclick="return confirm('確定修改?')" href="<?php echo site_url("tb_album/album_updata/$item->id")?>">修改</a></td>

      <td width="100px"><a onclick="return confirm('確定刪除?')" href="<?php echo site_url("tb_album/album_delete/$item->id/type");?>">刪除</a></td>

  </tr>

  <?php endforeach;?>

  </table>

  

  </body>

</html>

然後其他的view都是類似的。

這樣的話,一個小模塊就做好了,然後再根據網站的功能需求,再添加模塊就好了。

各個模塊做好後,整個php後臺就搭好了,然後就是和前端整合了,整合的話就需要寫一個controller加載前端的view,再在view裏面修改對應的內容即可。

在之後就是上線了,什麼申請虛擬主機、購買域名等等.....

問題總結

1、<?php echo site_url('tb_album/album_do_add')?>使用這個方法需要在config/autoload下面將$autoload['helper'] = array('url');改爲$autoload['helper'] = array('url');

2、不知道爲什麼這兩句不能連着用,同時使用就報錯,redirect前面不能有輸出?

echo '<script language="JavaScript">'.'alert("刪除成功!")'.'</script>';

redirect("product/product_showlist","refresh");

目前只想到這兩個,,,

 

 

由於剛學php不久,很多錯誤難免,歡迎留言指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章