重新编号表或通过页面链接链接到两个文件

时间:2015-10-01 14:19:03

标签: php html mysql

我有两个文件。主文件和详细信息文件。详细信息文件嵌入在主文件中,允许用户滚动详细文件中的记录。

我需要能够将相同的变量发布到这两个文件,并希望通过我的分页代码设置的页面链接来实现。

分页代码中的典型行读取

    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' . $padd1 . '&jrny='.$jrny.'&Subject='.$Subject.'&pn2='.$padd1.'&arc='.$sess.'&Table_Id='.$Table_Id.'">' . $add1 . '</a> &nbsp;';

我想做点什么:

    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?pn=' .  $padd1 .   '&jrny='.$jrny.'&Subject='.$Subject.'&pn2='.$padd1.'&arc='.$sess.'&Table_Id='.$T able_Id.'">' . $add1 . '</a> .<a href="' . details_file.php . '?pn=' . $padd1 .  '&jrny='.$jrny.'&Subject='.$Subject.'&pn2='.$padd1.'&arc='.$sess.'&Table_Id='.$T able_Id.'">' . $add1 . '</a> &nbsp;';

点击页面链接会同时发布到嵌入式网址和主文件网址。实际上我可能只需要将两个变量$ jrny和$ sess发布到主文件,并将所有变量发布到details_file。

可以这样做吗?

对于我之前提出问题的方式道歉。

1 个答案:

答案 0 :(得分:0)

我知道如何在任何2个不相关的表中使用连接...

我们可以在查询中“动态”为每个表提供一个id ...并使用这些ID来加入表格...最终会显示一个表格,使用限制分页等。 ..

例如......使用这些表:

CREATE TABLE `table1` (
    `field1`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    `field2`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;

BEGIN;
INSERT INTO `table1` VALUES ('a', 'a'), ('b', 'b'), ('c', 'c'), ('d', 'd'), ('e', 'e'), 
                            ('f', 'f'), ('g', 'g'), ('h', 'h'), ('i', 'i'), ('j', 'j'), 
                            ('k', 'k'), ('l', 'l'), ('m', 'm'), ('n', 'n'), ('o', 'o'), 
                            ('p', 'p'), ('q', 'q'), ('r', 'r');
COMMIT;


CREATE TABLE `table2` (
    `field3`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
    `field4`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;

BEGIN;
INSERT INTO `table2` VALUES ('a', 'a'), ('b', 'b'), ('c', 'c'), ('d', 'd'), ('e', 'e'), 
                            ('f', 'f'), ('g', 'g'), ('h', 'h'), ('i', 'i'), ('j', 'j'), 
                            ('k', 'k'), ('l', 'l'), ('m', 'm'), ('n', 'n'), ('o', 'o'), 
                            ('p', 'p'), ('q', 'q'), ('r', 'r'), ('s', 's'), ('t', 't'), 
                            ('u', 'u'), ('v', 'v'), ('w', 'w'), ('x', 'x'), ('yy', 'y');
COMMIT;

我们可以像这样加入:

SET @a=0;
SET @b=0;
SELECT tt1.field1, tt1.field2, 
    tt2.field3, tt2.field4 FROM 
    (
        (SELECT t1.* FROM 
            (SELECT @a:=@a+1 as id, field1, field2 FROM table1) AS t1) 
         AS tt1 

         INNER JOIN 

        (SELECT t2.* FROM 
            (SELECT @b:=@b+1 as id, field3, field4 FROM table2) AS t2) 
         AS tt2 

         ON tt1.id=tt2.id

    );

因此,您可以在一个记录集中使用结果。

你唯一需要注意的......知道哪个表有更多行来决定你是否需要LEFT或RIGHT OUTER JOIN