人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL+PHPで、サイトを制作しているのですが、データの表示の仕方で悩んでいます。
下記のSQL文をもっと簡単に記述する方法はありませんか?
うまく説明することが出来ないのですが、理解していただいた方がいたら解説などをいれてお願いします。


//SQL文の記述
$sql = "";
$sql .= "SELECT
DISTINCT tb1.f1 AS f1,
tb1.f2 AS f2,
tb1.f3 AS f3,
tb1.f4 AS f4,
tb2.f1 AS f5,
tb2.f2 AS f5
FROM tb1 LEFT OUTER JOIN tb2 ON tb1.f1=tb2.f1
WHERE tb1.f2 = '$hensu' OR tb1.f3 = '$hensu' OR tb1.f4 = '$hensu'";

$rs = mysql_query( $sql, $conn );

while( $rec = mysql_fetch_array( $rs, MYSQL_ASSOC )){

print <<<_EOT_
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr><td><h1>{$rec["f5"]}</h1></td></tr>
_EOT_;

//SQL文の記述
$sql = "";
$sql .= "SELECT*";
$sql .= " FROM tb1";
$sql .= " WHERE (f2 = '$hensu' OR f3 = '$hensu' OR f4 = '$hensu') and f1 = '$rec[f1]'";

$rs2 = mysql_query( $sql, $conn );

while( $rec2 = mysql_fetch_array( $rs2, MYSQL_ASSOC )){

print "<tr><td bgcolor="#FFFFFF">{$rec2["f5"]}<td></tr>";

}
print "</td></tr></table>";
}

●質問者: black_kenchan
●カテゴリ:ウェブ制作
✍キーワード:AS F1 F3 F4 MySQL
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

質問に質問で返してしまいますが。

とりあえず、

・tb1 と tb2 のDDL

・使用している MySQL のバージョン。

・何回か出現している $hensu という変数はすべての場所で同一の値でよいのかどうか。

を確認させてください。

あと、できれば何のデータをどのように表示したいのかサンプルを提示していただけるとはっきりとした答えが出やすいかと思います。

◎質問者からの返答

>・tb1 と tb2 のDDL

DDLとは、「Data Definition Language」の事ですか?

だとした、分からないです。すいません。

>・使用している MySQL のバージョン。

3.23だと思います。

>・何回か出現している $hensu という変数はすべての場所で同一の値でよいのかどうか。

はい。同じでよいです。

ショッピングサイトを作ろうと思うのですが、カテゴリ別にページを生成しようと思います。

例えば、index.php?CAT=1だったら電化製品みたいな感じにして、更にそのページの中で、カメラ、パソコンと見出しを作って商品を並べたいと思っています。

$hensuとうのは、CAT=1の部分の1なります。


2 ● b-wind
●35ポイント

すいません再度確認させてください。

最初の SQL の

tb2.f1 AS f5,

tb2.f2 AS f5

tb2.f1 AS f5,

tb2.f2 AS f6

の間違いでしょうか?

あと、tb1,tb2 の各カラムに何が入っているかが分かりにくいです。

tb1.f1 は何が入っているのでしょうか? tb2.f2 はカテゴリ名称ということでよろしいでしょうか?

また何か入っているデータに条件はありませんか?それぞれのカラムに任意のデータが入るとすると、SQL の変更は無理だと思います。

◎質問者からの返答

tb2.f1 AS f5,

tb2.f2 AS f5

上記は間違いです。下記があってます。

tb2.f1 AS f5,

tb2.f2 AS f6

tb2.f2 はカテゴリ名称です。

>また何か入っているデータに条件はありませんか?それぞれのカラムに任意のデータが入るとすると、SQL の変更は無理だと思います。

特にないです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ