[phpMyAdmin] How to enable Designer in phpMyAdmin

Some times we need to create ERD. In phpMyAdmin this can be done very easily. Just you need to change some configuration.

I am assuming that you have already installed phpMyAdmin (in my case it’s 3.4.3.2 version). You have to follow these simple steps;

Step 1: Open the file

libraries/config.default.php

Step 2: Find and change these configuration like this:

$cfg['Servers'][$i]['pmadb'] = ‘phpmyadmin’;
$cfg['Servers'][$i]['bookmarktable'] = ‘pma_bookmark’;
$cfg['Servers'][$i]['relation'] = ‘pma_relation’;
$cfg['Servers'][$i]['table_info'] = ‘pma_table_info’;
$cfg['Servers'][$i]['table_coords'] = ‘pma_table_coords’;
$cfg['Servers'][$i]['pdf_pages'] = ‘pma_pdf_pages’;
$cfg['Servers'][$i]['column_info'] = ‘pma_column_info’;
$cfg['Servers'][$i]['history'] = ‘pma_history’;
$cfg['Servers'][$i]['designer_coords'] = ‘pma_designer_coords’;

Step 3: Now, create a database name phpmyadmin. You can copy and paste in these script.


– Database : `phpmyadmin`

DROP DATABASE IF EXISTS `phpmyadmin`;
CREATE DATABASE `phpmyadmin`;
USE phpmyadmin;

– ——————————————————–


– Privileges

GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO
‘pma’@localhost;

– ——————————————————–


– Table structure for table `pma_bookmark`

CREATE TABLE `pma_bookmark` (
`id` int(11) NOT NULL auto_increment,
`dbase` varchar(255) NOT NULL default ”,
`user` varchar(255) NOT NULL default ”,
`label` varchar(255) NOT NULL default ”,
`query` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT=’Bookmarks’;

– ——————————————————–


– Table structure for table `pma_column_info`

CREATE TABLE `pma_column_info` (
`id` int(5) unsigned NOT NULL auto_increment,
`db_name` varchar(64) NOT NULL default ”,
`table_name` varchar(64) NOT NULL default ”,
`column_name` varchar(64) NOT NULL default ”,
`comment` varchar(255) NOT NULL default ”,
`mimetype` varchar(255) NOT NULL default ”,
`transformation` varchar(255) NOT NULL default ”,
`transformation_options` varchar(255) NOT NULL default ”,
PRIMARY KEY (`id`),
UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
) TYPE=MyISAM COMMENT=’Column information for phpMyAdmin’;

– ——————————————————–


– Table structure for table `pma_history`

CREATE TABLE `pma_history` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`username` varchar(64) NOT NULL default ”,
`db` varchar(64) NOT NULL default ”,
`table` varchar(64) NOT NULL default ”,
`timevalue` timestamp(14) NOT NULL,
`sqlquery` text NOT NULL,
PRIMARY KEY (`id`),
KEY `username` (`username`,`db`,`table`,`timevalue`)
) TYPE=MyISAM COMMENT=’SQL history for phpMyAdmin’;

– ——————————————————–


– Table structure for table `pma_pdf_pages`

CREATE TABLE `pma_pdf_pages` (
`db_name` varchar(64) NOT NULL default ”,
`page_nr` int(10) unsigned NOT NULL auto_increment,
`page_descr` varchar(50) NOT NULL default ”,
PRIMARY KEY (`page_nr`),
KEY `db_name` (`db_name`)
) TYPE=MyISAM COMMENT=’PDF relation pages for phpMyAdmin’;

– ——————————————————–


– Table structure for table `pma_relation`

CREATE TABLE `pma_relation` (
`master_db` varchar(64) NOT NULL default ”,
`master_table` varchar(64) NOT NULL default ”,
`master_field` varchar(64) NOT NULL default ”,
`foreign_db` varchar(64) NOT NULL default ”,
`foreign_table` varchar(64) NOT NULL default ”,
`foreign_field` varchar(64) NOT NULL default ”,
PRIMARY KEY (`master_db`,`master_table`,`master_field`),
KEY `foreign_field` (`foreign_db`,`foreign_table`)
) TYPE=MyISAM COMMENT=’Relation table’;

– ——————————————————–


– Table structure for table `pma_table_coords`

CREATE TABLE `pma_table_coords` (
`db_name` varchar(64) NOT NULL default ”,
`table_name` varchar(64) NOT NULL default ”,
`pdf_page_number` int(11) NOT NULL default ’0′,
`x` float unsigned NOT NULL default ’0′,
`y` float unsigned NOT NULL default ’0′,
PRIMARY KEY (`db_name`,`table_name`,`pdf_page_number`)
) TYPE=MyISAM COMMENT=’Table coordinates for phpMyAdmin PDF output’;

– ——————————————————–


– Table structure for table `pma_table_info`

CREATE TABLE `pma_table_info` (
`db_name` varchar(64) NOT NULL default ”,
`table_name` varchar(64) NOT NULL default ”,
`display_field` varchar(64) NOT NULL default ”,
PRIMARY KEY (`db_name`,`table_name`)
) TYPE=MyISAM COMMENT=’Table information for phpMyAdmin’;

– ——————————————————–


– Table structure for table `pma_designer_coords`

CREATE TABLE `pma_designer_coords` (
`db_name` varchar(64) NOT NULL default ”,
`table_name` varchar(64) NOT NULL default ”,
`x` INT(11) default NULL,
`y` INT(11) default NULL,
`v` TINYINT(4) default NULL,
`h` TINYINT(4) default NULL,
PRIMARY KEY (`db_name`,`table_name`)
) TYPE=MyISAM COMMENT=’Table coordinates for Designer’

you are done!

Step 4: Now select any of your database from the left side database list

Step 5: You will get a “Designer” tab

Step 6: Now, click on the “Designer” tab and you will get something like this

That’s all, you can now enjoy the model ;)

Create your own PHP framework using MVC design pattern (Part – 1)

Why Model-View-Controller ?

I am really thinking about Model-View-Controller (formally known as MVC) design pattern for PHP. So read these articles and find some really interesting concepts and make some understanding what we need to think and or not to when we make our own PHP framework.

You may read these articles too if you need have some clear understanding for go further.

1. http://www.tonymarston.net/php-mysql/model-view-controller.html
2. http://phpro.org/tutorials/Model-View-Controller-MVC.html
3. http://www.devshed.com/c/a/PHP/An-Introduction-to-Simulating-the-Model-View-Controller-Schema-in-PHP/

However, my point’s to re-factoring my PHP frameworks are as follows

1. All access of the site must be controlled with index.php.
2. A single point access of all entry is maintained by .htaccess file.
3. Hiding the index.php file form URL.
4. Creating SEO and user friendly URL’s.

cont.

[PHP] zero filled numbers with str_pad() function

To zero fill a number we can use PHP str_pad() function very easily

<?php
/** Example **/
$input = 1;
echo str_pad($input, 3);                     // produces "1"
echo str_pad($input, 3, "0", STR_PAD_LEFT); // produces "001"
echo str_pad($input, 3, "0", STR_PAD_BOTH);// produces "010"
echo str_pad($input, 3 , "0");            // produces "100"
?>

very easy right ;)

[PHP] Use word_limiter() function to limit your words

There is nice little tricks to make meaningful summary text form big description less than a sec? ;-)
This example can also be used to create more link in short description.
This Function will cut words from Text and displaying limited words

function word_limiter($str,$limit=10)
{
    if(stripos($str," ")){
    $ex_str = explode(" ",$str);
        if(count($ex_str)>$limit){
            for($i=0;$i<$limit;$i++){
            $str_s.=$ex_str[$i]." ";
            }
        return $str_s;
        }else{
        return $str;
        }
    }else{
    return $str;
    }
}

How does it work:
1. Define how many words you want to display.
2. Find what is the last character displaying.
3. If the last character displaying is not ” ” (Space) then again go next character until found.
4. Display words

<?php

/**
 * @example one
 */
echo word_limiter('Hellya!!! this function really works nice for me.',4)."...";
//this Returns "Hellya!!! this function really ..."
?>

Follow

Get every new post delivered to your Inbox.

Join 286 other followers