【データベース】(実質)新着順表示
新着順表示のやり方を一応メモしておく
今回使用したのはPostgres
同じようなことをすればどのDBでもできる
CREATE TABLE table_a (id serial, name varchar(5));
とかで作成
serialはインサートしたレコードに1から順に自動でidを振っていってくれる
(MySQLだとauto incrementとかだったと思う)
小さい数字が古いデータ
大きい数字が新しいデータ
になります
なのでこれを降順(大きい順)で表示すればいい
SELECT * FROM table_a ORDER BY id DESC;
ORDER BY ほにゃほにゃ
は、ほにゃほにゃを昇順で並べる
後ろにDESCを付けると降順にできる
たぶんここはどのDBでも同じ
昇順の場合、ほんとはORDER BY id ASC
だけどASCは省略可能
おしまい。
【Heroku】Potgresを操作 + PHPから接続
「何が書いてあるの?」
・Herokuにデータベースを作る
・コマンドプロンプトからHerokuのデータベースを操作
・PHPで作成したデータベースに接続、レコードを取得
「どんな人向け?」
・Herokuでデータベース使ってPHPで値を取得したい人向け
・HerokuでWebページ公開できるようにしておく必要があります
まだの人はこちらへ
*コマンドは
> コマンド
で記載
Heroku CLI と PostgreSQL をインストールする
(もしかしたらPostgreSQLは必要じゃないかも)
〇データベース作成方法と接続方法(SQLを打てるようにする)
HerokuのPersonal > アプリ名
のResources > Add-ons からHeroku Postgresを追加する
コマンドプロンプトを起動
Herokuのgitをremoteで登録してないなら
> git remote add 『名前』 『URL』
でHerokuのgitを登録しておく
わからないなら
> git remote -v
で一覧表示して確認
> heroku pg:psql
でデータベースに接続
この時、git remoteが複数登録してあるとエラーになるかも
エラーになった場合
> git remote -vで一覧を表示し、
いらないremoteを
> git remote remove 『名前』
で削除する
正常に接続できるとコマンドプロンプトの表示が変わって
アプリ名::DATABASE=>
という感じになる
ここにSQL文を打てばOK
まずはCREATE TABLEとかでテーブル作る
これをしないとHeroku側で実行されない
とりあえずテスト用に
SQL> create table test(id serial, name varchar(10));
と打ってテーブル作成
SQL> insert into 『テーブル名(今回はtest』 (『列名(今回はname』)values(『値』);
(コピペ用> insert into test (name) values ('ほげ'); )
で何個かレコードを追加していく
『ほげ』の部分はテキトーに変えてください
SQL> select * from test;
でテーブルを表示して確認
こんな感じになります
データベースの操作は以上なので
> \q
で終了
〇PHPからPostgreSQLに接続
さっきのHerokuの画面のResourceのAdd-onsにあるHeroku Postgresをクリック
Overview | Durability | Setting
のSettingをクリック
View Credentials...をクリック
赤丸のとこ
そしたらなんかいろいろ表示される
テキトーなエディタでPHPファイルを作成
さっきのHerokuの画面の情報を以下のコードに入れてく
赤色の部分以外はコピペでOK。下の方で説明します
<?php
/* Herokuの画面を参考に情報を入力 */
$host = 'Hostのとこ';
$database = 'Databaseのとこ';
$user = 'Userのとこ';
$password = 'Passwordのとこ';
/* Postgresに接続。できなかったらエラー */
$link = pg_connect('host='.$host.' dbname='.$database.' user='.$user.' password='.$password);
if(!$link){
die(pg_last_error());
}
$sql = 'select * from test;';
$result = pg_query($link, $sql);
$num = pg_numrows($result);
for($cnt = 0; $cnt < $num; $cnt++){
$rec = pg_fetch_row($result, $cnt);
echo'<p>id: '.$rec[0].' name: '. $rec[1].'</p>';
}
/* 接続を閉じる */
pg_close($link);
?>
とりあえず
> git push 『名前』 master
でソースコードをHerokuにプッシュ
アプリを確認してみるとデータベースに入れたデータが表示されるはず
**コードの説明**
・pg_query($link, $sql);
$sqlのクエリを実行する
このコードでは$resultに実行した結果が入ってる
・pg_nomrows($result);
クエリを実行して返ってきた行の数
このコードではfor文を回すのに使ってる
・pg_fetch_row($result, $row);
$resultに入ってる結果の$rowで指定した行のレコードを配列で取り出す
このコードでは行数文ループして$recにレコードを代入してる
今回はテーブル作成の時にidとnameの2行で作ったので
$rec[0]にidの値が、$rec[1]にnameの値が入ってる
pg_fetch_assocでも取り出せることができ、
その場合、列名をキーとした連想配列として取り出すことができる
例)
$rec = pg_fetch_assoc($result, $row);
echo $rec["id"]; // id列の値を表示
echo $rec["name"]; // name列の値を表示
【Heroku】初めてのWebページ公開
HerokuでWebページの公開をしてみたので備忘録書きます
「何が書いてあるの?」
HerokuでWebページ公開するやり方
「どんな人向け?」
公開したい人
Heroku、gitは登録済みってこと前提で書いていきます
Herokuでアプリを公開するにはgitを使うことが必須だそうです
gitの使い方がさっぱりな人はこちら
【備忘録】ガバガバGitコマンドの使い方 - xukikiの日記
・Herokuのコマンドを使えるようにする
The Heroku CLI | Heroku Dev Center
ここからダウンロードできるインストーラでHerokuのコマンドを使えるようにする
・コマンドプロンプトで公開するフォルダに移動
ここからコマンドプロンプトを開く
コマンドプロンプトの開き方は、
Windowsボタン(田のマーク)を押して「cmd」って打つと出てくる
エクスプローラでもmkdirコマンドでもいいので好きな場所に公開したいフォルダを作成
cd 『フォルダ名』を使って公開したいフォルダに移動
・公開したいソースコードを作成
なんでもいいのでとりあえず公開できるものを作ってみる
最初はファイル名を『index.php』にするのがおすすめ
・git init
git使います宣言
・heroku create 『アプリ名』
アプリを新規作成、アプリ名は自分で決める
実行したらアプリのURLとgitのURLが出てくる
写真はXAMPPフォルダ内で作ってるけどどこでも大丈夫なはずです
・git remote add 『名前』 『URL』
『名前』は好きな名前、これからアップデートするときはこの名前を使います
『URL』にはheroku createを実行して下の方に出てきたgitのURLを入れる
・git add .
・git commit -m "コメント"
・git push 『名前』 master
上の3つのコマンドを順に実行
コメントは更新内容とか好きなように書く、ただしなんかしら書かないとエラーになる
『名前』は上のgit remoteで決めた名前を入力
〇終わり
これで公開ができるはずです
公開したアプリはheroku createを実行したときに出てきたURLで確認できます
(https://アプリ名.herokuapp.com/ の形式)
【git】ガバガバgitコマンドの使い方
gitの勉強を少ししたのでコマンドの備忘録がてら
概念やコマンドの詳しい意味などは置いといて「打てば使える」程度のことしか書いてません
「何が書いてあるの?」
gitのとりあえずの使い方
「どんな人向け?」
gitの使い方が全く分からない人
※オプション部分は[オプション]
-> gitで決められたオプションの中から選ぶ場合、-a(All)、-m(message)など
※名前部分は『名前』
-> 自分で決めたユーザー名やサーバー名を指定する場合
〇最初にすること
・git init
「そのフォルダでgitを使うよ」という宣言
cdでgitを使うフォルダに移動した後、一番最初にgit initをする
・git config [--global] user.name 『ユーザー名』
・git config [--global] user.email 『メールアドレス』
githubに登録してあるユーザー名とアドレスを設定する
[--global]をつけるとそのフォルダだけじゃなくて全体でその設定(ユーザー名やアドレス)を共有するようになる
・git remote add 『共有先の名前』 『URL』
後述のgit pushコマンドで変更したソースコードなどを送信する 送信先を指定する
『共有先の名前』は自分の好きな名前、『work』『homeserver』など
URLはそのまま送信先のURL
〇更新があったとき
・git add [.]
・git commit -m "コメント"
変更があったらadd -> commitの順で実行
変更が記録される
変更がないのに実行しようとするとエラーになる
addのオプションはいろいろあるみたいだけど自分は[.]しか使ってない
[-A] ->新規作成、変更、削除されたすべてのファイルを更新
[.] -> 新規作成、変更されたファイルを追加。削除は更新しない
commitのコメントは何をしたかをダブルクォーテーションで挟んで書く
日本語入力できるのかは不明
自分はアルファベットのみで書いてる。不安ならアルファベットのみで
・git push 『送信先』 [master]
git remoteで指定した共有先に変更を送信する
共有しないならこのコマンドは使わないでいいっぽい
[master]の部分はよくわかってないけどとりあえず[master]で問題なく動いてる
〇どっかからフォルダをコピーするとき
・git clone 『URL』
指定したURLからファイルをコピーする
使ったことない(使う機会がない)のでよくわかってない