From 4ed64e6cdf66794177923cbb3f024bb9de7aa6a4 Mon Sep 17 00:00:00 2001 From: Marc Delisle Date: Tue, 14 May 2002 14:32:37 +0000 Subject: [PATCH] pdf schema --- Documentation.html | 83 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 76 insertions(+), 7 deletions(-) diff --git a/Documentation.html b/Documentation.html index e487cec31..e435d868f 100755 --- a/Documentation.html +++ b/Documentation.html @@ -601,7 +601,10 @@ $cfg['PmaAbsoluteUri'] = (!empty($HTTPS) ? 'https' : 'http') . '://'
  • in query-by-example, create automatic joints (see an example - in the FAQ, section "Using phpMyAdmin"). + in the FAQ, section "Using phpMyAdmin"); +
  • +
  • + enable you to get a PDF schema of your database.

  • @@ -621,8 +624,10 @@ $cfg['PmaAbsoluteUri'] = (!empty($HTTPS) ? 'https' : 'http') . '://'        `foreign_table` varchar(32) NOT NULL default '',
           `foreign_field` varchar(32) NOT NULL default '',
           `foreign_display_field` varchar(32) NOT NULL default '',
    -        PRIMARY KEY (`master_table`,`master_field`)
    -      ) TYPE=MyISAM COMMENT='Table Relation';
    +        `pdf_page_number` int(11) NOT NULL default '0',
    +        PRIMARY KEY (`master_table`,`master_field`),
    +        KEY pdf_page_number (`pdf_page_number`)
    +      ) TYPE=MyISAM COMMENT='Relation table';
  • @@ -642,9 +647,49 @@ $cfg['PmaAbsoluteUri'] = (!empty($HTTPS) ? 'https' : 'http') . '://'      ALTER TABLE relation CHANGE dest_table foreign_table VARCHAR(32) NOT NULL
         ALTER TABLE relation CHANGE dest_column foreign_field VARCHAR(32) NOT NULL
         ALTER TABLE `relation` ADD `foreign_display_field` VARCHAR(32) NOT NULL;
    +      ALTER TABLE `relation` ADD `pdf_page_number` int(11) NOT NULL;
    +      ALTER TABLE `relation` ADD INDEX(`pdf_page_number`);

    +
    + $cfg['Servers'][$i]['pdf_table_position'] string +
    +
    + Since release 2.3.0 you can describe, in a special 'pdf_table_position' + table, the coordinates where each table will be placed on a PDF schema + output. This configuration variable will hold the name of this special + table. +

    + This feature is supported under PHP4, and you must be using also + the 'relation' feature. +

    + To use this functionality you have to: +
      +
    • + create in the same database a table (for example 'pdf_table_position') + following this scheme:
      + +      CREATE TABLE `pdf_table_position` (
      +        `table_name` varchar(50) NOT NULL default '',
      +        `x` float unsigned NOT NULL default '0',
      +        `y` float unsigned NOT NULL default '0'
      +        PRIMARY KEY (`table_name`)
      +      ) TYPE=MyISAM COMMENT='Table positions for PDF schema';
      +
      +
    • +
    • + put the table name in + $cfg['Servers'][$i]['pdf_table_position'] +
    • +
    • + then manually fill this table with information about + the table positions on the PDF schema. +
    • +

    + See also this usage tip.

    +
    +
    $cfg['ServerDefault'] integer
    If you have more than one server configured, you can set @@ -1593,11 +1638,13 @@ $cfg['PmaAbsoluteUri'] = (!empty($HTTPS) ? 'https' : 'http') . '://'        foreign_table varchar(32) NOT NULL default '',
           foreign_field varchar(32) NOT NULL default '',
           foreign_display_field varchar(32) NOT NULL default '',
    -        PRIMARY KEY (master_table,master_field)
    +        pdf_page_number int(11) NOT NULL default '0',
    +        PRIMARY KEY (master_table,master_field),
    +        KEY pdf_page_number (`pdf_page_number`)
         ) TYPE=MyISAM;

    -      INSERT INTO relation VALUES ('persons', 'town_code', 'towns', 'town_code','description');
    -      INSERT INTO relation VALUES ('persons', 'country_code', 'countries', 'country_code','description');
    +      INSERT INTO relation VALUES ('persons', 'town_code', 'towns', 'town_code','description', 1);
    +      INSERT INTO relation VALUES ('persons', 'country_code', 'countries', 'country_code','description', 1);

         CREATE TABLE towns (
           town_code varchar(5) NOT NULL default '0',
    @@ -1625,6 +1672,26 @@ $cfg['PmaAbsoluteUri'] = (!empty($HTTPS) ? 'https' : 'http') . '://'
  • Click "Submit query"

  • + +

    + How can I produce a PDF schema of my database? +
    + First you have to fill the 'relation' and 'pdf_table_position' + configuration variables. +

    + Then, think about your schema layout: which tables will go on which + pages. You have to fill in the 'relation' table the page number for + each master-foreign link. +

    + Then manually fill the pdf_table_position table with the coordinates, + x being the width and y the height, and (0,0) at the upper left corner. + For example, x=100 and y=200 means that the table will be at 200 mm + down and 100 mm right from the upper left corner. +

    + To produce the output, click on your database name, then choose 'Structure' + and 'Display PDF schema', and enter the page number. +

    +

    [phpMyAdmin project]

    @@ -1866,7 +1933,7 @@ code since version 2.1.0: - Christophe Gesché from the "MySQL Form Generator for PHPMyAdmin" (http://sourceforge.net/projects/phpmysqlformgen/) who suggested the patch for multiple table printviews. -- Garvin Hicking <hicking at faktor-e.de> who builds the patch for +- Garvin Hicking <hicking at faktor-e.de> who built the patch for vertical display of table rows. - Yukihiro Kawada <kawada at den.fujifilm.co.jp> for the japanese kanji encoding conversion feature. @@ -1876,6 +1943,8 @@ code since version 2.1.0: relation-links feature. - Mike Beck <mike.beck at ibmiller.de> for his work on the Relation table feature: automatic joint in QBE, links column in printview, Relation view. +- Maxime Delorme <delorme.maxime at free.fr> for the PDF schema output; + thanks also to Olivier Plathey for the fpdf library (www.fpdf.org). And also to the following people who have contributed minor changes, enhancements, bugfixes or support for a new language since version 2.1.0: