我有一个名为c33062的表,它在页面中显示数据行。我有20个其他MySQL表,具有相同的结构和信息,只是不同的数据。我不想为每个页面创建一个页面,而是为每个创建超链接,然后调用链接表信息。 我的发言是:
$query = "SELECT id, year, price_avg_sold, price_sqft,
pct_list_sold, adom, sold_nu, sold_chg,
year_1, year_2, year_3, year_4, year_5,
year_6, year_7, year_8, year_9, year_10
FROM c33062";
所以从本质上讲,我想为每个表格c33063,c33064,c33065等制作超链接,点击后,会将该特定表格的数据调用到模板页面中。
超链接FROM表的正确方法是什么?
答案 0 :(得分:0)
在每个链接中将表名设置为变量并获取该变量值。 例如
并将表格值设为 $ table = $ _GET ['table'];
然后在查询中使用此变量,如下面的代码:
$ query =“SELECT id,year,price_avg_sold,price_sqft,pct_list_sold,adom,sold_nu,sold_chg,year_1,year_2,year_3,year_4,year_5,year_6,year_7,year_8,year_9,year_10 from”。$ table; < / strong>
答案 1 :(得分:0)
假设您要根据用户选择的链接选择每个表:
for($i=33062; $i<33081;$i++):
echo '<li><a href="query.php?table=c'.[$i].'"> Link to c'.[$i].'</a></li>';
endfor;
在query.php
中$selected = $_REQUEST['table'];
$query = "SELECT id, year, price_avg_sold, price_sqft,
pct_list_sold, adom, sold_nu, sold_chg,
year_1, year_2, year_3, year_4, year_5,
year_6, year_7, year_8, year_9, year_10
FROM $selected";
如果您想在同一页面中看到结果:
if(isset($_GET['table'])):
$selected = $_GET['table'];
$query = "SELECT id, year, price_avg_sold, price_sqft,
pct_list_sold, adom, sold_nu, sold_chg,
year_1, year_2, year_3, year_4, year_5,
year_6, year_7, year_8, year_9, year_10
FROM $selected";
//other codes
endif;
答案 2 :(得分:0)
假设您的表具有要在SELECT语句中检索的完全相同的属性,您可以简单地将表名放在查询字符串中并检索并在$ query中,您可以获取表名并将其放入条件中
http://example.com?table_name=c33062
http://example.com?table_name=c33062
并在您的代码中
$query = "SELECT <...columns...> FROM ".$_GET['table_name'];
答案 3 :(得分:0)
为什么要使用相同的架构创建这么多表(21)。这是一个糟糕的数据结构
如果所有表用于相同目的,则只创建一个表并添加另一个名为entity_name
的列,并使用查询字符串传递该字段的值以获取该实体的行。为此:
ALTER TABLE c33062 ADD entity_name VARCHAR(64) NULL
然后执行查询:
$entity_name = mysql_real_escape_string($_GET["entity_name"]);
$query = "SELECT id, year, price_avg_sold, price_sqft, pct_list_sold, adom, sold_nu, sold_chg, year_1, year_2, year_3, year_4, year_5, year_6, year_7, year_8, year_9, year_10 FROM c33062 WHERE entity_name=". $entity_name;
你的超链接看起来像这样:
<a href="replacewithyourpage.php?entity_name=c33062">c33062</a>
<a href="replacewithyourpage.php?entity_name=c33063">c33063</a>...