Suipedia

ツイッター始めてみました 掲示板はこちら

【php】データベースの取得値をアンカータグ付き文字列で出力する方法

■前提条件

 データベースから取得した値をアンカータグ付きのリンク文字列で出すということは最低限、
 ・そのアンカータグを付与する文字列
 ・アンカータグのhrefに指定するURL
の2つが必要。

これは事前に用意しておく。
サイト全体のコンテンツを管理するテーブルや記事ごとに関連記事を管理するテーブルがこれにあたる。

■データベースからコンテンツ一覧を取得する方法

 DBの取得値を出力する前の段階について、ソースを以下に示す。

 『$dbh』というDBconnect変数については既に用意されている体で話を進める。
 これを用意する方法についてはこちらを参照。


<?php
	$sql = "SELECT * FROM hogetable";
	$stmt = $dbh->prepare($sql);
	$stmt->execute();
?>
		
行番号つけれたらいいんだけど・・・

■リンク文字列の出力

 先ほどの続きで取得したデータ一覧を一つずつ順に出力するコード。

 htmlソースにphpの文字列を混ぜ込む場合、
 ・htmlソースは『'』で囲む。(もしくは『"』)
 ・変数と文字列の連結は『.』を使用する
 がポイント。

 'htmlソース'.phpソース.'htmlソース'; ・・・という具合である。

 なお、以下でしているループは検索結果がなくなるまで回す、というもので毎回『if($result==false)』で検索結果の有無を検査している。『break;』はループを抜けるの意。
 『$result』自体がtrueかfalseの結果を持っているはずなので、通常ifの中でtrueやfalseとわざわざ比較するということはしない。・・・でも何故か↓のソースはしてるね、アチャパー(;゚Д゚)


<?php
	$sql = "SELECT * FROM hogetable";
	$stmt = $dbh->prepare($sql);
	$stmt->execute();
	
	while(1){
		$result = $stmt->fetch(PDO::FETCH_ASSOC);
		if($result==false){
			break;
		}
		print '<a href='.$result[url].'>'.$result[title].'</a></li>';
	}
?>
		
コメント(投稿内容は承認後に表示されます)
お名前
コメント

コメント

↑ PAGE TOP