EDGE Now!外部DBを表示する簡易ビューアを作る
スポンサードリンク
昨日EDGE Now!の内部にあるであろうデータベースを外部に設けたわけですが、これを活用するため、まず作ったDBの最新50件を表示する簡単なスクリプトを用意します。
Filename: db.cgi
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use DBI;
my $q = CGI->new();
print $q->header(-type => 'text/plain', -charset =>'UTF-8', );
print <<'END_OF_TEXT';
id | ctime | eid | url | title |
END_OF_TEXT
my $dbh = DBI->connect(
'dbi:SQLite:dbname=edgenow_sites.db',
undef, undef , {AutoCommit => 0} );
my $sth = $dbh->prepare(
'SELECT * FROM urls ORDER BY id DESC LIMIT 50'
);
my $res = $sth->execute();
while( my $ref = $sth->fetchrow_hashref ){
printf(
"%6d|%-18s|%6d|%s|%s\n",
$ref->{id},
$ref->{ctime},
$ref->{entryid},
$ref->{url},
$ref->{title},
);
}
$dbh->commit;
exit;
__END__
これは実際にアクセスできます。
http://labo.dtpwiki.jp/edgenow/db.cgi
よく見ますと、サイトにはじめて登録された順番に並んでくれています。おお、これ使うと新着RSSできるんじゃね? ていうことで次回このDBを使ってRSSを作ります。
おまけ。さっきの表示スクリプト、もっとアジャイルに作りたいというのであれば、sqlite3を使って、こういうのもありかも。
Filename: db2.cgi
#!/usr/bin/perl use strict; use warnings; use CGI; my $q = CGI->new(); my $res = `sqlite3 edgenow_sites.db 'SELECT * FROM urls ORDER BY id DESC LIMIT 50;'`; print $q->header(-type => 'text/plain', -charset =>'UTF-8', ); print <<'END_OF_TEXT'; id | ctime |eid | url | title | END_OF_TEXT print $res; exit; __END__
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2440





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする