<?php
ob_start();
session_start();
include("connection.php");
while($row = mysqli_fetch_row($a))
{
	  $prefix =  substr($row[0],0,5);
	if($prefix == 'tapp_' || $prefix!= 'tapp_') 
	{
		if($tables == '')
		{
		$tables =	$row[0];
		}
		else
		{
		 $tables = $tables.','.$row[0];
		}
		
	}
	
	
}


$tables = $tables;



//Call the core function

backup_tables($dbhost, $dbuser, $dbpass, $dbname, $tables);



//Core function

function backup_tables($host, $user, $pass, $dbname, $tables = '*') {

    $link = mysqli_connect($host,$user,$pass, $dbname);



    // Check connection

    if (mysqli_connect_errno())

    {

        echo "Failed to connect to MySQL: " . mysqli_connect_error();

        exit;

    }



    mysqli_query($link, "SET NAMES 'utf8'");



    //get all of the tables

    if($tables == '*')

    {

        $tables = array();

        $result = mysqli_query($link, 'SHOW TABLES');

        while($row = mysqli_fetch_row($result))

        {

            $tables[] = $row[0];

        }

    }

    else

    {

        $tables = is_array($tables) ? $tables : explode(',',$tables);

    }



    $return = '';

    //cycle through

    foreach($tables as $table)

    {

        $result = mysqli_query($link, 'SELECT * FROM '.$table);

        $num_fields = mysqli_num_fields($result);

        $num_rows = mysqli_num_rows($result);



        $return.= 'DROP TABLE IF EXISTS '.$table.';';

        $row2 = mysqli_fetch_row(mysqli_query($link, 'SHOW CREATE TABLE '.$table));

        $return.= "\n\n".$row2[1].";\n\n";

        $counter = 1;



        //Over tables

        for ($i = 0; $i < $num_fields; $i++) 

        {   //Over rows

            while($row = mysqli_fetch_row($result))

            {   

                if($counter == 1){

                    $return.= 'INSERT INTO '.$table.' VALUES(';

                } else{

                    $return.= '(';

                }



                //Over fields

                for($j=0; $j<$num_fields; $j++) 

                {

                    $row[$j] = addslashes($row[$j]);

                    $row[$j] = str_replace("\n","\\n",$row[$j]);

                    if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }

                    if ($j<($num_fields-1)) { $return.= ','; }

                }



                if($num_rows == $counter){

                    $return.= ");\n";

                } else{

                    $return.= "),\n";

                }

                ++$counter;

            }

        }

        $return.="\n\n\n";

    }



    //save file

   // $fileName = 'db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql';
    $fileName = 'database_backup/db-backup-'.date('Y-m-d').'.sql';

    $handle = fopen($fileName,'w+');

    fwrite($handle,$return);

    if(fclose($handle)){

        
$_SESSION['flash_message'] = 'Congrats! your database has been backed up to '.$fileName;
          
 
    }
	else{
	$_SESSION['failure_message'] = 'Sorry! there was an error to backup database.';	
	}

}
 header("Location:backup_database.php");






?>