一个PHP模板页面,使用超链接调用不同的表

时间:2016-04-19 19:09:17

标签: php mysql

我有一个名为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表的正确方法是什么?

4 个答案:

答案 0 :(得分:0)

在每个链接中将表名设置为变量并获取该变量值。 例如

    表格30063的
  1. http://www.name.com?tabe=30063

  2. 表格30064
  3. http://www.name.com?tabe=30064

  4. 并将表格值设为 $ 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>...