私は、小さなプランナーを作成するためのテーブルシステムの設計に取り組んでいます。プランナー自体は、2つの異なるMySQLテーブルを描画するHTMLテーブルです。プライマリキーを使用して2つのテーブルの複数の列をリンクする
テーブルは、表1の
Table_1 (date_id, suggestion_1, suggestion_2, suggestion_3, ...)
Table_2 (song_id, song_title, ...)
「date_id」カラムは提案の独自のグループをそれぞれ有する、日付、ウェルのカレンダーが充填されています。表1の各行において、提案列のセルは、それぞれ表2の「song_id」列から引き出された単一の識別番号(「1293」、「1185」、「0984」)で個々に満たされる。
私は日付と提案を記載したHTMLテーブルを生成する方法を理解しようとしていますが、数字の代わりに2番目のテーブルの曲タイトルが表示されます。 (私が表示したい曲についての他の情報もあるので、1つではなく2つのテーブルがある)。
HTMLのテーブルには、最終的には次のようになります。
たHTML_Table(カレンダーの日付、曲のタイトル、曲のタイトルB、曲のタイトルC)
は、私はPHP/MySQLの、の比較的新しいです(と私は自分の問題をどのように定義すべきかを理解するために、ほとんどの日が私を連れてきました。私は今、2番目の表の主キーを参照する必要があることを理解しています。私の問題はどうしたらいいの?私は何らかの種類のJOINを使うべきかどうかを考えようとしていますが、私はまったく新しいものではありません。
私が使用している本は、私は私の個人的な使用のために改変本の特定のインスタンスのための関数の例を与えた:
その下//convert the number of the 1st suggestion into a title
function get_suggest1($suggest_a) {
global $db;
$query = 'SELECT
song_title
FROM
draftsongref
WHERE
song_id = ' . $suggest_a;
$result = mysql_query($query, $db) or die(mysql_error($db));
$row = mysql_fetch_assoc($result);
extract($row);
return $song_title;
}
、私も含ま:
//retrieve the suggestions for the mass
$query = 'SELECT
date_id, suggestion_1
FROM
draft_suggestions
ORDER BY
date_id ASC';
$result = mysql_query($query, $db) or die (mysql_error($db));
...
// loop through the results
while ($row = mysql_fetch_assoc($result)) {
extract($row);
$suggest1 = get_suggest1($suggest_a);
を... $suggest1
変数を使用して、指定された提案の特定のsong_titleを出力できます。私の問題は、その関数を実行するたびにエラーメッセージが表示されることです。
You have an error in your SQL syntax;
check the manual that corresponds to your
MySQL server version for the right syntax
to use near '' at line 6
は今、私はこれまでのところ、それはこれに言及だということを把握するために管理してきました:
WHERE
song_id = ' . $suggest_a;
をそして、より具体的には、 "= '$のsuggest_a;"しかし、私は単にその特定の問題を解決する方法を理解することはできません。たぶん私の前提(可変引数$ suggest_aに特定の名前があるかどうかは関係ありません)、あるいは関数の設計上の誤りかもしれません。元の例を使用したとき、元の引数/変数は他の通信者はいなかった。
ここで私が言及したJOINテーブルとは少し違っていると理解していますが、これはどのようにしてこれを実現するかを理解するのに最も近かったものです。どんな助けも認められるでしょう。
これは、特定の日付ごとに1つのテーブルを作成することを意味しますか? (私が間違っていれば申し訳ありません)。 – Caljay
ああ、待って、心配しないで。私はdate_id列の情報が3番目のテーブルに対応しているので、この方法が必要だと思うのですが、それは別の問題です。私は実際に関数をそのまま動作させることに本当に関わっています。 (それは私のテーブルではないので、私はそれのようにそれを変更する権限を持っていない)。 – Caljay