2012-05-06 3 views
0

私はテーブル1からデータを取得する動作するmysqlクエリを持っています。ドロップダウンメニューで選択したテーブルにmysqlクエリを接続させます

今、毎月新しいテーブル(table2、table3..etc)を追加します。

目標1:ドロップダウンメニューを追加して、すべての表にユーザーオプションとして設定したいとします。

目標2:私は、クエリは、ユーザーがドロップダウンメニューから選択し、テーブルに接続したいと思い、データを取得し、ページまたは更新されたデータを表示するだけで、テーブルのdiv要素をリフレッシュ。

私の現在のMySQL/PHPコード:

$query = "SELECT X, Y, Z FROM **table1**"; 

$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_array($result)) 

{ 
echo $row['X']; 

echo $row['Y']; 

echo $row['Z']; 
} 

代わりに「TABLE1」のそれは、ユーザーが選択し、ドロップダウンメニューにリンクされている変数でなければなりません。

私はそれがシンプルであるべきだと感じますが、私はこれに少し新しく、同様のケースを見つけることができませんでした。

ありがとうございます。

+2

探しているものを、もしわからない例ですなぜ異なるテーブルを使用するのですか? SINGLEテーブルに4番目の列を追加するだけで、どのレコードがどの「セクション」に属しているかを知ることができます。 –

+0

提案してくれてありがとうMarc、今私は1つのテーブルに行ったことがあります。後でテーブルが大きくなるにつれてパフォーマンスについて心配していますが、毎月100または200の新しい行が追加されるように、長い道のりです。 .soまでそれは単一のテーブルで滞在することができます。今私は特定のデータをクエリするためにPHPコードの中にユーザ変数を入れるための答えをCOLD TOLDに試みます。 – Naim

+0

数百万行に達すると心配します。 〜2400 /年は基本的に何もありません。 –

答えて

1

私は上記のコメントを好むが、ここですべてのテーブルが同じを持っている場合は、

<form action="process.php" method='post'> 
     <select name="tables"> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
     </select> 
     <input type="submit" /> 
     </form> 

process.phpファイル

$table=$_POST['tables']; 
$query = "SELECT X, Y, Z FROM ".$table; 

$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_array($result)) 

{ 
echo $row['X']; 

echo $row['Y']; 

echo $row['Z']; 
} 
+0

あなたの答えをありがとう、私はそれを試して戻ってあなたに戻ります。 – Naim

+0

百万円ありがとうございます。何が私はフォームの前に置くべきかについて少し不明ですaction = ""、私は私の処理ページのURLを置くはずですか?また、オプションを選択してサブミットすると、クエリは新しいページで処理されますが、デフォルトオプションは処理されたオプションの代わりにドロップダウンメニュー内に表示されます... – Naim

0
$result = 'SHOW TABLES [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr];'; 

while($row = mysql_fetch_array($result)) 
{ 
echo $row['Tables_from_db_name']; 
} 
関連する問題