Raspberry pi 1 model bで、with pixel　その4

#概要
Raspberry pi 1 model bで、cheetan.phpを導入してcrudを確認した。


#写真
![c.JPG](https://qiita-image-store.s3.amazonaws.com/0/18104/c3d3bf32-0c8d-9686-7745-b8b6877022df.jpeg)


#環境
Raspberry pi 1 model b(element14)
raspbian 2016-11-25 jessie with pixel
sd_card MF-RUMSD08GL elecom
HDMI to VGA adapter(amazon)
usb keyboard(nec)
usb mouse(nec)

#インストール

sudo aptitude install apache2 php5 mysql-server php5-mysql

#mysqlの設定
sudo nano /etc/mysql/my.cnf

```
[mysqld]
character-set-server=utf8
[mysqldump]
default-character-set=utf8
[mysql]
default-character-set=utf8
```
sudo mysql -u root -p

```
> create database mydb;
> use mydb;
> CREATE TABLE `blog_data` (
>  `id` int(11) NOT NULL auto_increment,
>  `title` text NOT NULL,
>  `body` text NOT NULL,
>  `modified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
>  PRIMARY KEY (`id`)
>);
```

#cheetanの設定
wget "https://ja.osdn.net/frs/redir.php?m=jaist&f=%2Fcheetan%2F43575%2Fcheetan0.8.1.0.zip"

unzip redir*
sudo cp -r cheetan /var/www/html
#cheetanの設置
models/blog_data.php

```
<?php
class CBlog_data extends CModel
{
}
?>
```
config.php

```
<?php
function config_database(&$db) {
    $db->add('', 'localhost', 'id', 'pass', 'mydb');
}
function config_models(&$controller) {
    $controller->AddModel(dirname(__FILE__) . '/cheetan/models/blog_data.php');
}
function config_controller(&$controller) {
    $controller->SetTemplateFile('template.html');
}
?>
```

template.html

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>ちいたんブログ</title>
<link href="test.css" rel="stylesheet" type="text/css" />
</head>
<body>
<nav id="left-nav">
    <ul>
        <li><a href="">afa</a></li>
    </ul>
</nav>
<nav id="right-nav">
    <ul>
        <li><a href="">afa</a></li>
    </ul>
</nav>
<div id="page-wrap">
  <header>
    <p id="left-btn">
      ☰
    </p>
    <p id="right-btn">
        <img src="http://jsrun.it/assets/c/9/b/p/c9bpk.png" />
    </p>
  </header>
  <nav id="post-nav">
    <ul>
        <li><span><img src="http://jsrun.it/assets/o/5/R/q/o5RqR.png" /></span><span>投稿</span></li>
        <li><span><img src="http://jsrun.it/assets/y/q/f/Z/yqfZV.png" /></span><span>写真</span></li>
        <li><span><img src="http://jsrun.it/assets/s/O/t/Q/sOtQk.png" /></span><span>チェックイン</span></li>
    </ul>
  </nav>
  <article id="contents">
    <div class="post-area pd7">
        <span><img src="http://jsrun.it/assets/4/P/C/C/4PCCW.png" /></span>
        <p class="post-title" >ブログ</p>
        <span><img src="http://jsrun.it/assets/3/D/y/z/3Dyz0.png" /></span>
    </div>
<?php echo $this->content();?>
  </article>
</div>
</body>
</html>
```


#Create（生成）
add.php

```
<?php
require_once 'config.php';
require_once 'cheetan.php';

function action(&$c) {
    if (count($_POST)) 
    {
        $c->blog_data->insert($c->data['blog']);
    }
}
?>
```

add.html

```
<form method="post" action="add.php">
タイトル<br />
<input type="text" name="blog/title" /><br />
内容<br />
<textarea cols="40" rows="8" name="blog/body"></textarea><br />
<input type="submit" value="書き込み" />
</form>
```

#Read（読み取り）
view.php

```
<?php
require_once 'config.php';
require_once 'cheetan.php';

function action(&$c) {
    $c->set('datas', $c->blog_data->find());
}
?>
```
view.html

```
<?php
foreach($data['datas'] as $data)
{
?>
<div class="post-box">
        <div class="pd7">
          <div class="cf mb10">
            <div class="photo"><img src="http://jsdo.it/img/common/img_user_anonymous.gif" /></div>
            <div class="title-box">
                <p class="title">
<?php echo $data['title'];?>
                </p>
                <p class="time">
<?php echo $data['modified'];?> <?php echo $data['id'];?>
                </p>
            </div>
         </div>
            <p>
<?php echo str_replace( "\n", '<br />', $data['body'] );?>
            </p>
       </div>
       <div class="ans-area">
         <ul>
           <li><span><img src="http://jsrun.it/assets/1/P/g/w/1Pgwn.png" /></span><span>いいね！</span></li>
           <li><span><img src="http://jsrun.it/assets/k/E/o/O/kEoOx.png" /></span><span>コメントする</span></li>
           <li><span><img src="http://jsrun.it/assets/5/P/5/g/5P5gE.png" /></span><span>シェア</span></li>
         </ul>
        </div>
    </div>

<?php
}
?>
```

#Update（更新）
edit.php

```
<?php
require_once 'config.php';
require_once 'cheetan/cheetan.php';

function action(&$c) {
    if (count($_POST)) 
    {
        $c->blog_data->update($c->data['blog']);
    }
    $c->set('data', $c->blog_data->findone('id=' . $_GET['id']));
}
?>
```
edit.html

```
<form method="post" action="edit.php">
タイトル<br />
<input type="text" name="blog/title" value="<?php echo $data['data']['title']; ?>" /><br />
内容<br />
<textarea cols="40" rows="6" name="blog/body"><?php echo $data['data']['body']; ?></textarea><br />
<input type="hidden" name="blog/id" value="<?php echo $data['data']['id']; ?>" />
<input type="submit" value="更新" />
</form>
```
#Delete（削除）

del.php

```
<?php
require_once 'config.php';
require_once 'cheetan/cheetan.php';

function action(&$c) {
    if (count($_POST)) 
    {
        $c->blog_data->del('id=' . $_POST['id']);
    }
    $c->set('data', $c->blog_data->findone('id=' . $_GET['id']));
}
?>
```
del.html

```
<form method="post" action="edit.php">
削除してもよろしいですか？<br />
タイトル<br />
<?php echo $data['data']['title'];?><br />
内容<br />
<?php echo $data['data']['body'];?><br />
<input type="hidden" name="id" value="<?php echo $data['data']['id']; ?>" />
<input type="submit" value="削除" />
</form>
```

以上。