07 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 09

流星のゲーム日誌

ちまちまゲームや日常の事を書いていきます♪

【備忘録】PHPって便利? 

そろそろとある案件にアサインされると聞いてガクブルな流星です。

配属から1週間経ちましたが、
業務に必要な知識が研修で学んだ内容と全然違う方向性で、いまだにあたふたしてます。

前回も軽くサーバのことに触れましたが、
どれもこれも初めて触るものばかりで何が何やら状態…。

とりあえずネットワーク周りやら、
通信に強くなろうってことで今はPHPでサイト作ったりしてます。

しかしPHPって非常に便利というか、使いやすいですね。
DB接続がたったの2~3行で済むとは。

セキュリティの観点から言えばどうなのかは分かりませんが。


というわけで!
初めてPHP触ってみて、少し悩んだところをまた書いていきます。

まぁ今思えば当たり前なことなんですけど、
作業に没頭してるときってしょうもないとこで詰まったりするんですよねー。

それでは追記にて。



昨日、今日とPHPで掲示板のようなサイトを構築していました。

サーバはWeb用(Apache、PHP)、DB用(MySQL)の2つを用意。
とりあえずお互いに通信させるために80番、そしてMySQLの3306番ポートを解放。

※ポート解放はiptables内を編集すればOK。
 Linuxのファイアウォールのような役割をしているそうで。

あとはガシガシPHPを書くだけ…なのですが、ここでちょっと詰まりました。

基本的に私は上にPHP処理をずらっと書いて、
その下に受け渡しやページ遷移のためのform処理を書いていました。

(余談ですが、form処理の値の部分だけphpタグで囲って変数扱うの便利だなーって思いました)


ですが、上司から
「POSTではなくGETでリクエストの受け渡しをして、クリックするためのリンクを張ってほしい」
と言われてしまいました。

ここで問題なのが…

私はテーブルの主キー一覧をユーザに見せて検索してもらうつもりだったものを、
検索ではなく直接クリックできるリンクに変えてほしいと言われてしまったこと。



【イメージ】

ID : 1
ID : 2
ID : 3





と表示させて検索してもらうつもりが…


IDが1番のページ
IDが2番のページ
IDが3番のページ




となるようにしてほしいと言われたわけです。

※IDはテーブルの主キーとなるカラムの値。つまりselectのクエリを発行して一覧表示している。
※頭悪そうに見えるものですが、あくまで例です。あくまで例です!



つまりユーザ入力をもとにformでPOSTを投げさえすればよかったものを、
GETに盛りこんでクリックできる状態にしてほしいと。

ここでまず浮かんだ解決策が
formの中でphpタグを書いて、そこでDB接続してしまうこと。

しかしそうなると
a href="xxx.php?○○"
の○○の部分に色々PHPの内容を書かないといけなくなってしまう。

これだとあまりにもスマートではない。
ましてや一覧表示するつもりだったので、どうしてもループ処理も書きたかった。

そうなるとレコードの数だけループさせたい…などいろいろ面倒な条件が出てくることに。

まぁHTML上でも条件指定のループができる関数はあるでしょうけど。


なのでどうしてもphpタグ内でformを実現できないかと検索すること数十分…。

「あ、printでタグ書きだせばいいじゃん!」
と当たり前なことにふと気が付きました。

なので必要となる分だけ
print('');
を書いていく、という実にシンプルなもの。

キャプチャ

つまりこのような感じに。

これだとループ処理も楽だし、何よりphpタグ内なので変数が使い放題です。
(まぁ今回はrowでSQLの値を取得しているわけですが)

見た目は少しアレですが、無事解決しました。


うーん、状況設定がイマイチ伝えきれなくて分かりにくい文章ですね…。

まぁともかく、printでひたすらタグを吐き出す方法を覚えておこうという備忘録です。
いかにも初心者って感じの記事ですねこれ。


ではでは。

Posted on 2015/07/09 Thu. 22:39 [edit]

category: IT備忘録

TB: 0    CM: 0

09

コメント

Comment
list

コメントの投稿

Secret

Comment
form

トラックバック

トラックバックURL
→http://gameinfo7.blog137.fc2.com/tb.php/461-238614fb
この記事にトラックバックする(FC2ブログユーザー)

Trackback
list