「Wikipokpok:ブログ」の版間の差分
提供: wikipokpok
(286.857142857143) |
|||
1行目: | 1行目: | ||
− | + | == Zend Frameworkについて == | |
+ | |||
+ | === Zend_Db_Tableでのjoin === | ||
+ | |||
+ | setIntegrityCheck(false)を書かないとエラーになるので注意。 | ||
+ | |||
+ | $table = new Bugs(); | ||
+ | $select = $table->select()->setIntegrityCheck(false); | ||
+ | $select->where('bug_status = ?', 'NEW') | ||
+ | ->join('accounts', | ||
+ | 'accounts.account_name = bugs.reported_by', | ||
+ | 'account_name') | ||
+ | ->where('accounts.account_name = ?', 'Bob'); | ||
+ | $rows = $table->fetchAll($select); | ||
+ | |||
+ | === Zend_Paginator === | ||
+ | |||
+ | Zend_Paginatorの使い方を教えてください。リファレンスガイドを見ましたが分かりません。検索をかけても情報がありません。[http://framework.zend.com/docs/quickstart クイックスタート]に組み込みたいと思っています。どなたかよろしくお願いします。--[[利用者:おおい|住職]] 2009年2月3日 (火) 18:16 (JST) | ||
+ | [[画像:Zend Paginator.png|thumb|200px|5つ表示してページを移動します。]] | ||
+ | :右図のようにできました。参考にしたページは次の三つです。[http://www.ibuildings.nl/blog/archives/1531-Zend_Paginator-First-Impressions.html][http://ratherinsane.com/blog/2008/07/29/zend-framework-16-zend_paginator][http://framework.zend.com/manual/ja/zend.paginator.usage.html]--[[利用者:おおい|住職]] 2009年2月4日 (水) 11:50 (JST) | ||
+ | *GuestbookController.php | ||
+ | public function indexAction() | ||
+ | { | ||
+ | $model = $this->_getModel(); | ||
+ | //$this->view->entries = $model->fetchEntries(); | ||
+ | $entries = $model->fetchEntries(); | ||
+ | $paginator = Zend_Paginator::factory($entries); | ||
+ | //1ページに表示するエントリ数 | ||
+ | $paginator->setItemCountPerPage(5); | ||
+ | $paginator->setCurrentPageNumber($this->_request->getParam('page')); | ||
+ | $this->view->paginator = $paginator; | ||
+ | } | ||
+ | */views/scripts/guestbook/index.php | ||
+ | <? //foreach ($this->entries as $entry): ?> | ||
+ | <? foreach ($this->paginator as $item): ?> | ||
+ | <?= $this->escape($item['id']) ?>[<?= $this->escape($item['name']) ?>] | ||
+ | <?= $this->escape($item['comment']) ?> | ||
+ | <?= $this->escape($item['created']) ?> | ||
+ | <? endforeach ?> | ||
+ | //pagination_control.phtmlは/views/scripts/内につくる。 | ||
+ | <?= $this->paginationControl($this->paginator, 'Sliding', 'pagination_control.phtml'); ?> | ||
+ | */views/scripts/pagination_control.phtml | ||
+ | <?php if ($this->pageCount): ?> | ||
+ | <?php if (isset($this->previous)): ?> | ||
+ | <a href="<?= $this->url(array('page' => $this->previous)); ?>">前へ</a> | ||
+ | <?php else: ?> | ||
+ | <span class="disabled">前へ</span> | ||
+ | <?php endif; ?> | ||
+ | <?php foreach ($this->pagesInRange as $page): ?> | ||
+ | <?php if ($page != $this->current): ?> | ||
+ | <a href="<?= $this->url(array('page' => $page)); ?>"><?= $page; ?></a> | ||
+ | <?php else: ?> | ||
+ | <?= $page; ?> | ||
+ | <?php endif; ?> | ||
+ | <?php endforeach; ?> | ||
+ | <?php if (isset($this->next)): ?> | ||
+ | <a href="<?= $this->url(array('page' => $this->next)); ?>">次へ</a> | ||
+ | <?php else: ?> | ||
+ | <span class="disabled">次へ</span> | ||
+ | <?php endif; ?> | ||
+ | <?php endif; ?> | ||
+ | 以上で、selectした結果をグーグルのようにページ移動できるようになりました。 | ||
+ | |||
+ | |||
+ | === Zend Frameworkとコンソールの文字化け === | ||
+ | |||
+ | データベースに接続するとき、文字コードを UTF-8 に設定すると回避できる。クイックスタートではbootstrap.phpを次にのようにした。 | ||
+ | $dbAdapter = Zend_Db::factory($configuration->database); | ||
+ | // 文字コードを UTF-8 に設定する | ||
+ | $dbAdapter->query("set names 'utf8'"); | ||
== Mysqlについて == | == Mysqlについて == |
2009年4月23日 (木) 21:00時点における版
目次
Zend Frameworkについて
Zend_Db_Tableでのjoin
setIntegrityCheck(false)を書かないとエラーになるので注意。
$table = new Bugs(); $select = $table->select()->setIntegrityCheck(false); $select->where('bug_status = ?', 'NEW') ->join('accounts', 'accounts.account_name = bugs.reported_by', 'account_name') ->where('accounts.account_name = ?', 'Bob'); $rows = $table->fetchAll($select);
Zend_Paginator
Zend_Paginatorの使い方を教えてください。リファレンスガイドを見ましたが分かりません。検索をかけても情報がありません。クイックスタートに組み込みたいと思っています。どなたかよろしくお願いします。--住職 2009年2月3日 (火) 18:16 (JST)
- GuestbookController.php
public function indexAction() { $model = $this->_getModel(); //$this->view->entries = $model->fetchEntries(); $entries = $model->fetchEntries(); $paginator = Zend_Paginator::factory($entries); //1ページに表示するエントリ数 $paginator->setItemCountPerPage(5); $paginator->setCurrentPageNumber($this->_request->getParam('page')); $this->view->paginator = $paginator; }
- /views/scripts/guestbook/index.php
<? //foreach ($this->entries as $entry): ?> <? foreach ($this->paginator as $item): ?> <?= $this->escape($item['id']) ?>[<?= $this->escape($item['name']) ?>] <?= $this->escape($item['comment']) ?> <?= $this->escape($item['created']) ?> <? endforeach ?> //pagination_control.phtmlは/views/scripts/内につくる。 <?= $this->paginationControl($this->paginator, 'Sliding', 'pagination_control.phtml'); ?>
- /views/scripts/pagination_control.phtml
<?php if ($this->pageCount): ?> <?php if (isset($this->previous)): ?> <a href="<?= $this->url(array('page' => $this->previous)); ?>">前へ</a> <?php else: ?> 前へ <?php endif; ?> <?php foreach ($this->pagesInRange as $page): ?> <?php if ($page != $this->current): ?> <a href="<?= $this->url(array('page' => $page)); ?>"><?= $page; ?></a> <?php else: ?> <?= $page; ?> <?php endif; ?> <?php endforeach; ?> <?php if (isset($this->next)): ?> <a href="<?= $this->url(array('page' => $this->next)); ?>">次へ</a> <?php else: ?> 次へ <?php endif; ?> <?php endif; ?>
以上で、selectした結果をグーグルのようにページ移動できるようになりました。
Zend Frameworkとコンソールの文字化け
データベースに接続するとき、文字コードを UTF-8 に設定すると回避できる。クイックスタートではbootstrap.phpを次にのようにした。
$dbAdapter = Zend_Db::factory($configuration->database); // 文字コードを UTF-8 に設定する $dbAdapter->query("set names 'utf8'");
Mysqlについて
CREATE TABLE構文のみ出力する
$ mysqldump -d -u hoge -p データベース名 > 出力ファイル名
AUTO_INCREMENTの開始番号を指定する。
mysql> ALTER TABLE hoge AUTO_INCREMENT=100;
データベースごとに文字コードを設定する。
mysql> SET NAMES utf8; ....utf8,ujis
文字コードの確認
mysql> SHOW VARIABLES LIKE 'character\_set\_%';
phpからのクエリで文字化けするときの対策。
$db = mysql_connect("localhost", "hoge", "piyo"); mysql_select_db("poyo",$db); mysql_query("SET NAMES utf8");
http://www.myspace.com/kungfoolfighting
EmEditor Freeのインストール
コマンドプロンプトから次のようにしました。--住職 2008年7月25日 (金) 14:18 (JST)
emed6004jfx.msi /passive
サラ川に 今年も映る 世相かな
私は57がお気に入りです。--住職 2008年7月21日 (月) 23:33 (JST)
西暦元号対照表
過去帳整理のときに便利です。--住職 2008年7月10日 (木) 17:05 (JST)