WeberDev.com PHP and MySQL Code

LOG IN
BEGINNER GUIDES  |  PHP CLASSES  |  CODE SEARCH  |  ARTICLES SEARCH  |  PHP FORUMS  |  PHP MANUAL  |  PHP FUNCTIONS LIST  |  WEB SITE TEMPLATES
Start typing to search for PHP and MySQL Code Snippets and Articles Search
Submit a code Example / Snippet Submit Your Code
Search Engine Optimization Monitor SEO Monitor
Web Site UpTime Monitor UpTime Monitor
WeberDev's Monthly code contest PHP Code Contest
Your Personal Examples List My Favorite Examples
Your Personal Articles List My Favorite Articles
Edit Account Info Update Your Profile
PHP Code Search
Web Development Forums
Learn MySQL Playing Trivia
PHPBB2 Templates
Web Development Index
PHP Web Logs (BLogs)
Web Development Resources
Web Development Content
PHPClasses
PHP Editor
PHP Jobs
Vision.To Design
Ajax Tutorials
PHP Programming Help
PHP/MySQL Programming
Webmaster Resources
Webmaster Forum
XML meta language
website builder
Submit Site
Forex Trading Online forex trading platform

Go Back Add a Comment Send this example to a friend Add this Article to your personal favoritest for easy future access to your favorite Code Examples and Articles. Submit a code example Print this code example.
BACK ADD A COMMENT SEND TO A FRIEND ADD TO MY FAVORITES ADD CODE EXAMPLES PRINT
Title : MySQL Optimizer - a class to analyze, optimize or repair tables of a MySQL database.
Categories : PHP, PHP Classes, MySQL, Databases Click here to Update Your Picture
Ben Yacoub Hatem
Date : May 24th 2004
Grade : 5 of 5 (graded 2 times)
Viewed : 5097
File : 3885.php
Images : No Images for this code example.
Search : More code by Ben Yacoub Hatem
Action : Grade This Code Example
Tools : My Examples List

  Submit your own code examples 
 

"MySQL is probably the most popular database being used with PHP applications. Sometimes, the databases need to be subject of maintenance tasks like optimizing heavily changed tables or repair tables that may have been affected by some kind of system malfunctioning.

MySQL provides seperate tools to perform these tasks but in the latest versions it was added the possibility request the execution of this kind of operatings via special SQL commands, but on a table by table basis.

This class provides an interface to automate the execution of these maintenance tasks on all tables of a given database.

This is a simple level of automation enables for instance the possibility to schedule the database maintenance operations by executing PHP scripts that use this class to execute the necessary maintenance tasks without human intervention."

Manuel Lemos

mysqlop.class.php
[code]   
<?php

/**
* class mysql_db_optimize : Analyse and optimise mysql database
*
*
* @version 1.0.0
* @author Ben Yacoub Hatem <hatem@php.net>
* @since 26.09.2003 12:30:24
* @access public
*/

class mysql_db_optimize{
   
   
/**
     *
     * @access private
     **/
   
var $_dblink;
   
   
/**
     * Get accessor for $_dblink property
     *
     * @access public
     **/
   
function Getdblink(){
        return
$this->_dblink;
    }
// function
   
    /**
     * Set accessor for $_dblink property
     *
     * @access public
     **/
   
function Setdblink($value){
       
$this->_dblink = $value;
    }
// function
   
    /**
     *
     * @access private
     **/
   
var $_mysqlhost;
   
   
/**
     * Get accessor for $_mysqlhost property
     *
     * @access public
     **/
   
function Getmysqlhost(){
        return
$this->_mysqlhost;
    }
// function
   
    /**
     * Set accessor for $_mysqlhost property
     *
     * @access public
     **/
   
function Setmysqlhost($value){
       
$this->_mysqlhost = $value;
    }
// function
   
    /**
     *
     * @access private
     **/
   
var $_mysql_user;
   
   
/**
     * Get accessor for $_mysql_user property
     *
     * @access public
     **/
   
function Getmysql_user(){
        return
$this->_mysql_user;
    }
// function
   
    /**
     * Set accessor for $_mysql_user property
     *
     * @access public
     **/
   
function Setmysql_user($value){
       
$this->_mysql_user = $value;
    }
// function
   
    /**
     *
     * @access private
     **/
   
var $_mysql_password;
   
   
/**
     * Get accessor for $_mysql_password property
     *
     * @access public
     **/
   
function Getmysql_password(){
        return
$this->_mysql_password;
    }
// function
   
    /**
     * Set accessor for $_mysql_password property
     *
     * @access public
     **/
   
function Setmysql_password($value){
       
$this->_mysql_password = $value;
    }
// function
   
    /**
     *
     * @access private
     **/
   
var $_my_database;
   
   
/**
     * Get accessor for $_my_database property
     *
     * @access public
     **/
   
function Getmy_database(){
        return
$this->_my_database;
    }
// function
   
    /**
     * Set accessor for $_my_database property
     *
     * @access public
     **/
   
function Setmy_database($value){
       
$this->_my_database = $value;
    }
// function
   

   
    /**
     * Constructor
     * @access protected
     */
   
function mysql_db_optimize(){
       
    }
   
   
/**
     * method dbconnect : connect to mysql db
     *
     * @access public
     * @return void
     **/
   
function dbconnect(){
       
/* Connexion et sélection de la base */
       
$this->_dblink = @mysql_connect($this->_mysql_host, $this->_mysql_user, $this->_mysql_password);
        @
mysql_select_db($this->_my_database);
    }
   
   
/**
     * method configuredb : configure mysql database
     *
     * @access public
     * @return void
     **/
   
function configuredb($host,$user,$pass,$db){
       
$this->_mysqlhost = $host;
       
$this->_mysql_password = $pass;
       
$this->_mysql_user = $user;
       
$this->_my_database = $db;
    }
   
   
/**
     * method get_db_tables : return list of tables
     *
     * @access public
     * @return void
     **/
   
function get_db_tables(){
     
$result = @mysql_list_tables($this->_my_database);
       
        if (!
$result) {
            print
"Erreur : impossible de lister les bases de données\n";
            print
'Erreur MySQL : ' . mysql_error();
            exit;
        }
       
        while (
$row = mysql_fetch_row($result)) {
           
$Tables[] = $row[0];
        }
        return
$Tables;       
    }
   
   
/**
     * method execute : execute an operation in all db table
     *
     * @param    $operation    operation to execute on DB
     *
     * @access public
     * @return void
     **/
   
function execute($operation = "OPTIMIZE"){
        if (
$operation!= "OPTIMIZE" or $operation!= "ANALYZE" or $operation!= "REPAIR") {
           
$operation = "OPTIMIZE";
        }
       
$color1 = "#F57E1D";
       
$color2 = "#F5F6C4";
       
$color3 = "#FFFF40";
       
       
$Tables = $this->get_db_tables();
       
$query = "$operation TABLE ";
        foreach(
$Tables as $k=>$v){
           
$query .= " `$v`,";
        }
       
$query = substr($query,0,strlen($query)-1);
       
$result = @mysql_query($query,$this->_dblink);
       
$res = "<table border=\"0\" cellpadding=\"5\">\n";
       
$res .= "<tr>
<th bgcolor=\"$color1\">Table</th>
<th bgcolor=\"$color1\">Op</th>
<th bgcolor=\"$color1\">Msg_type</th>
<th bgcolor=\"$color1\">Msg_text</th>
</tr>"
;
       
$bgcolor = $color3;
        while (
$line = mysql_fetch_array($result, MYSQL_ASSOC)) {
           
$res .= "\t<tr>\n";
            foreach (
$line as $col_value) {
                if (
$col_value == "OK") {
                   
$optimize = " <a href=\"?operation=OPTIMIZE\">Optimize DB</a>";
                } else unset(
$optimize);
               
$res .= "\t\t<td valign=\"top\"  bgcolor=\"$bgcolor\">$col_value $optimize</td>\n";
            }
           
$res .= "\t</tr>\n";
            if (
$bgcolor==$color3) {
               
$bgcolor = $color2;
            } else
$bgcolor = $color3;
        }
       
$res .= "</table>\n";
       
$res .= base64_decode('PGJyPjxzbWFsbD48YSBocmVmPSJodHRwOi8vd3d3LmR5bmFtaXgtdG4uY29tIj5Qb3dlcmVkIGJ5IER5bmFtaXg8L2E+PC9zbWFsbD4=');
        return
$res;
    }
}
?>


Usage Example
$db = new mysql_db_optimize;
/*
* Configurer la connexion א la base de donnיes.
*/
$db->configuredb("localhost","db_login","db_pass","ma_base");
$db->dbconnect();

/**
* Modifier la valeur de la variable operation selon :
*
* ANALYZE    : analyser toutes les tables dans la base de donnיes
* OPTIMIZE    : optimiser toutes les tables dans la base de donnיes
* REPAIR    : rיparer toutes les tables dans la base de donnיes
*/
if(!isset($operation))
    $operation = "ANALYZE";

$res = $db->execute($operation);
echo $res;
?>



usercounter class
Categories : PHP, PHP Classes, Databases, MySQL, Environment Variables
MySQL Handler
Categories : PHP, Databases, MySQL, Classes and Objects, PHP Classes
PostGreSQL and MySQL 2 in 1 db Manager
Categories : PHP, PHP Classes, Databases, PostgreSQL, MySQL
MySQL Class to ease Database connectivity
Categories : MySQL, PHP Classes, Databases, PHP
Simple Mini Poll class library (SimPoll)
Categories : PHP, PHP Classes, Databases, MySQL, Complete Programs
Online Automatic Class Generator for MySQL Tables
Categories : PHP, PHP Classes, Classes and Objects, Databases, MySQL
Specify your connection settings and create a link to a MySQL database.
Categories : PHP, PHP Classes, Databases, MySQL, Beginner Guides
Simple database class
Categories : PHP, PHP Classes, MySQL, Databases
Simple usersOnline class - keep track of how many users are online on your site
Categories : PHP, PHP Classes, Databases, MySQL
Setting up InnoDB on MySQL and using Transactions Begin, Commit, Rollback in PHP.
Categories : PHP Classes, Databases, PHP, MySQL, InnoDB
Ajax PHP Tree (Left and Right) with MySQL
Categories : PHP, Databases, MySQL, AJAX, PHP Classes
YellowPages Content Grabber (PHP5 +)
Categories : PHP, PHP Classes, Regexps, Databases, MySQL
Convert SQL from oracle,mysql,mssql,sqlite and odbc to SQL compatible
Categories : PHP, PHP Classes, Databases, MySQL, MS SQL Server
MySQL Connection/Query Class
Categories : Databases, MySQL, PHP, PHP Classes
Create and restore backup of MySQL databases
Categories : MySQL, Databases, PHP, PHP Classes, Complete Programs