データベースを表示するブロック

2010年10月31日 at 11:44

データベースを表示するブロックが欲しいのですが、ありますか?
なければ、誰か作っている人はいますか?

Re: データベースを表示するブロック

2010年10月31日 at 21:53
データベース内容を表示するブロック、ということですよね?
自分は知りません。

しかし、PHPコードを書いてDBを読み、表示させることは出来ます。

phpコードを直接書けるブロックが無料で配布されていますので、それを使えば可能です。
http://www.concrete5.org/marketplace/addons/simple-php-block/

これを使えば、SQLiteならそのままSQLiteのPDO関数コードなどを書けば普通に表示できます。

MySQLなら、ADODBを通すので、Loaderというものを通さなくてはエラーが出ます。http://learnaboutc5.blogspot.com/2010/05/concrete5db.html
前に自分のブログに備忘録を書いておいたので、よければ参考になさって下さい。
 

Re: Re: データベースを表示するブロック

2010年10月31日 at 23:53
自分でデータベースを作成して、表示させる、ファイルメーカーのようなアドオン

Data Display
http://www.concrete5.org/marketplace/addons/data-display/

管理画面で、データベースの中身を直接管理する、ちょっと危険なソフトは

Databse Manager
http://www.concrete5.org/marketplace/addons/database-manager/

です。
 

Re: Re: Re: データベースを表示するブロック

2010年11月1日 at 14:58
欲しかったのはまさにこれです。
動画の説明もあって助かりました。
有料なのがちょっと残念ですが、まあ買うか。
 

Re: Re: データベースを表示するブロック

2010年11月1日 at 14:56
>phpコードを直接書けるブロックが無料で配布されていますので、それを使えば可能です。
>http://www.concrete5.org/marketplace/addons/simple-php-block/

これはいいですね。いろいろ使えそうです。

>MySQLなら、ADODBを通すので、Loaderというものを通さなくてはエラーが出ます。
>http://learnaboutc5.blogspot.com/2010/05/concrete5db.html
>前に自分のブログに備忘録を書いておいたので、よければ参考になさって下さい。

残念ながら「Not found」になります。

ADODBってWindowsですよね。私はCentOS+MySQLが慣れているのですが。
 

Re: Re: Re: データベースを表示するブロック

2010年11月1日 at 15:28
URLのリンクボタンを押してURLを投稿するとaタグが挿入されてしまうようですね。
URLを自動的に読むようにしていたのでした。リンクをし直しました。

ADOdbでしたね。ADODBじゃなく。失礼しました。
MySQLやその他のリレーショナルデーターベースへのアクセスを可能にするライブラリの方です。windowsのものじゃなく。

自由なデータベースアクセスを実装したければ、かなり使えます。
自分は無料でこちらの方法でやっています。

訂正まで。
 

Re: Re: Re: Re: データベースを表示するブロック

2010年11月1日 at 18:02
いえいえ、大文字小文字の問題ではなくて、ADOと聞くとWindowsとばかり思ってました。
勉強不足でした、ADOdbってのを勉強させていただきます。
 

Re: Re: Re: Re: Re: データベースを表示するブロック

2010年11月1日 at 20:43
ADOdb自体を勉強する必要は最初ないと思います。
concrete5のブロック上でのDBアクセス方法を知れば、
DBからデータを抜いてきたり、挿入したりできますので。

で、
http://www.concrete5.org/documentation/developers/system/database-connectivity
ここに方法がかいつまんで書いてあります。(英語ですが、内容はシンプルです)

最初にURLを挙げた拙ブログに、それを導入して実際に使うまでの事例が書いてあります。

この関数を通さないと、ADOdbエラーに悩まされます。

一応、情報まで。
 

Re: Re: Re: Re: Re: Re: データベースを表示するブロック

2010年11月2日 at 23:34
そのPHPブロックから、DBIは使えないのですか?
DBIより、ADodbがおすすめっていうことですか?

DBIに慣れているもので。というか、DBIしか使ったことがないので。

勉強って意味ですが、実はADOdbって結構前から耳にしていたんですが、ググって耳にするたびに、「なんだそりゃ、Linuxじゃねえ」とおもって、見送ってましたもので、どんなものかみなおして、私の頭の整理棚に納めなければとおもったんです。
 

Re: Re: データベースを表示するブロック

2010年11月3日 at 11:40
katzさんから教えてもらったDatabase Managerでデータベースを作って、Takezoさんに教えていただいたsimple-php-blockで表示させることができました。

同時にkatzさんから教えてもらった、DataDisplayは、円高とはいえ、ちょっと高いので購入は見送りました。

まだデータの追加中ですが、以下の仕上がりです。
http://kashihara-sumu.net/index.php?cID=74
デザインもなにもないですが。

ソースはこんな感じで、Takezoさんに教えていただいた後始末も入れました。
====
$db = Loader::db( 'localhost', 'concrete5', 'concrete5', 'hospital', true);
$rows=$db->Execute('select * from hlist');

print '<table border="1">';
print '<tr><td>病院名</td><td>電話番号</td><td>住所</td><td>診療科目</td><td>診察時間</td><td>休診日</td></tr>';
while ( $row = $rows->FetchRow()) {
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>",$row['name'],$row['tel'],$row['addr'],$row['kamoku'],$row['jikan'],$row['kyusin']);
}
$db = Loader::db(null, null, null, null, true);
====
 

Re: Re: Re: データベースを表示するブロック

2010年11月3日 at 12:45
おめでとうございます~
うまくいきましたね。

Database Managerを使うと、無料でいろいろやれますね。
これまでテーブルに流し込んでいたデータを、こいつで簡単に管理できる。
これはいいですね。。
自分もやってみます。
 

Re: Re: Re: Re: データベースを表示するブロック

2010年11月4日 at 11:40
table だけの表示でしたら・・・
CSVファイルのインポート読み込みのアドオンが無料であります。

CSV displayer

出し入れが簡単に出来るので、割と便利だったりします。
(CSVファイルは作らなくてはいけないのだけど)

見た目デザインは、あとでカスタムテンプレート化したりして装飾してあげればいいのではないかと。


上記は無料だけど・・・テーブルのソートの出来るアドオンが有料であります。
Tables


ポイントは concrete5 のデーターベースに登録されているものの表示ということですから自作でそういうアドオンを作ることは大変良い事ですね。

ちなみに入力はどのようにやっているのかしら?
直接ダイレクトにDBのテーブルに記載?
なんらかの入力フォームにて、データーの入力?
またよろしかったら教えて下さいね!


既出のアドオン「データーディスプレイ」は持っているのですが、ちょっと使いにくいかな。日本語化されていないし、まだまだファイルメーカー並の扱いにはちょっとほど遠いです。

ただし、データーのインポート/エクスポートが出来るという利点はあります。
一応お知らせまで。
 

Re: Re: Re: Re: Re: データベースを表示するブロック

2010年11月4日 at 15:18
>CSV displayer

そういうのもあるんですね。さっそく入れてみましたが、とりあえず、うまく表示できませんでした。
Excelでまとまったデータを入力するには便利ですね。

いま入力しているのは、電子データになってないので、ぼちぼち手でいれてます。


>上記は無料だけど・・・テーブルのソートの出来るアドオンが有料であります。
>Tables

よさそうですが、いまのでいいです。
中身はどんどん充実させますが、デザインはあきらめています。


>ちなみに入力はどのようにやっているのかしら?
>直接ダイレクトにDBのテーブルに記載?
>なんらかの入力フォームにて、データーの入力?

katzさんからお教えいただいたDatabase Manager(SQL Buddy)をインストールしたので、管理画面から1項目ずつ入力できます。
フィールドの追加もできるので、重宝してます。


データが増えると、条件を選んで条件に合うものだけ表示できる機能がほしくなりましたが、あのsimple-php-blockにフォームをいれたら実現できるのだろうか。実験してみます。
 

Re: Re: Re: Re: Re: Re: データベースを表示するブロック

2010年11月4日 at 20:05
アドインの"simple-php-block"で、フォームが処理できることが確認できました。

以下のように、科目を入力して、「実行」ボタンで、入力した科目(外科だけとか)のデータだけが表示できるようになりましたよーーん。
http://kashihara-sumu.net/index.php?cID=74

以下のコードを追加したらできました。
=========
$kamoku = $_POST['kamoku'];
if($kamoku != '') {
$where = " where kamoku LIKE '%$kamoku%' ";
}
$sql = "select * from ippan ". $where ." order by furi";
$rows=$db->Execute($sql);

print '<form method="post"><table><tr><td>';
print '科目(外科など)を入力して絞り込みできます';
print '<input type="text" name="kamoku" value="">';
print '<input type="submit" name="send">';
print '</td></tr></table></form>';
=========
 

Re: Re: Re: Re: Re: Re: Re: データベースを表示するブロック

2010年11月4日 at 21:48
お!いい具合ですね~

フォームもいけましたか。
これは良い情報をありがとうございます。
使えますね。
 

Re: Re: Re: Re: Re: データベースを表示するブロック

2010年11月4日 at 21:51
tomoyaさん、お久しぶりです。

csvの読み込みアドオンも良さそうですね。
簡易的に使うにはかなり楽そうです。

自分はSQLiteを結構使っています。
ADOdbのエラーもはかないし、コードをそのまま書いて、かなり柔軟に運用できてます。

でも、もっとお手軽にやるにはCSVの方が楽かも。

紹介ありがとうございました。
またいいアドオン情報あったら、色々教えて下さいまし~