1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Urgent csv - From Vertical to Horizontal

Discussion in 'PHP' started by adam1987, Apr 19, 2007.

  1. #1
    Hi,

    I have a form which pulls data from the mysql database and generates a CSV file, here is the code:

    <? 
     //include"session.php";   
    require("../include/conn.php");
    list($day,$mon, $year) = split('/',$_REQUEST['startdate']);
    		$sdate=$year.'-'.$mon.'-'.$day;
    		list($day,$mon, $year) = split('/',$_REQUEST['enddate']);
    		$edate=$year.'-'.$mon.'-'.$day;
    		$arr=array("ID","NAME","EMAIL","ADDRESS 1","ADDRESS 2","ADDRESS 3","POSTCODE","ADCODE","DATE");
    ///////////////////////////////
    $select = "SELECT * FROM Database06 where userdate between '".$sdate."' and '".$edate."'";
    $export = mysql_query( $select,$db ) or die ( "Sql error : " . mysql_error( ) );
    $fields = mysql_num_fields ( $export );
    
     
    
    while( $row = mysql_fetch_row( $export ) ){
    
        $line = '';
    	$i=0;
    	 foreach( $row as $value )
    	 {                                            
            if ( ( !isset( $value ) ) || ( $value == "" ) )
    		{ 
                $value = "\"".$arr[$i]."\",\n";
            }
    		else
    		{
                //$value = str_replace( '"' , '""' , $value );
    			
                $value = "\"".$arr[$i]."\", ".strtoupper(addslashes($value)) . "\n";
            }
            $line .= $value;
    		$i++;
        }
    	// $line = substr($line, 0, -1); // remove last comma; 
        $data .= trim( $line ) . "\n\n";
    }
    //$data = str_replace( "\r" , "" , $data );
    
    if ( $data == "" ){
        $data = "\n(0) Records Found!\n";                        
    }
    
    	
    	
    	if (!empty($_SERVER['HTTP_USER_AGENT'])){
    		$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
    	}else if (!empty($HTTP_SERVER_VARS['HTTP_USER_AGENT'])){
    		$HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
    	}else if (!isset($HTTP_USER_AGENT)){
    		$HTTP_USER_AGENT = '';
    	}
    
    	// 1. Platform
    	if (strstr($HTTP_USER_AGENT, 'Win')) {
    		define('PMA_USR_OS', 'Win');
    	} else if (strstr($HTTP_USER_AGENT, 'Mac')) {
    		define('PMA_USR_OS', 'Mac');
    	} else if (strstr($HTTP_USER_AGENT, 'Linux')) {
    		define('PMA_USR_OS', 'Linux');
    	} else if (strstr($HTTP_USER_AGENT, 'Unix')) {
    		define('PMA_USR_OS', 'Unix');
    	} else if (strstr($HTTP_USER_AGENT, 'OS/2')) {
    		define('PMA_USR_OS', 'OS/2');
    	} else {
    		define('PMA_USR_OS', 'Other');
    	}
    
    
    
    	// 2. browser and version
    	if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
    		define('PMA_USR_BROWSER_VER', $log_version[2]);
    		define('PMA_USR_BROWSER_AGENT', 'OPERA');
    	} else if (ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
    		define('PMA_USR_BROWSER_VER', $log_version[1]);
    		define('PMA_USR_BROWSER_AGENT', 'IE');
    	} else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
    		define('PMA_USR_BROWSER_VER', $log_version[1]);
    		define('PMA_USR_BROWSER_AGENT', 'OMNIWEB');
    	} else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
    		define('PMA_USR_BROWSER_VER', $log_version[1]);
    		define('PMA_USR_BROWSER_AGENT', 'MOZILLA');
    	} else if (ereg('Konqueror/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) {
    		define('PMA_USR_BROWSER_VER', $log_version[1]);
    		define('PMA_USR_BROWSER_AGENT', 'KONQUEROR');
    	} else {
    		define('PMA_USR_BROWSER_VER', 0);
    		define('PMA_USR_BROWSER_AGENT', 'OTHER');
    	}
    
    	// Send headers
    	$fileName = 'esm_survey.csv';
    	header('Content-Type: application/octetstream');
    	if (PMA_USR_BROWSER_AGENT == 'IE') {
    //		header('Content-Disposition: inline; filename="'.$_GET[file].'"');
    		header('Content-Disposition: inline; filename="'.$fileName.'"');		
    		header('Expires: 0');
    		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    		header('Pragma: public');
    	} else {
    		header('Content-Disposition: attachment; filename="'.$fileName.'"');
    		header('Expires: 0');
    		header('Pragma: no-cache');
    	}
    	echo $data;
    
    //////////////////////////////
    //--------- Export Csv --------------
    /*
    $CSVpath = "";
    $handle = fopen ($CSVpath, "r");
    $faz = fgets($handle, 4096); //skip header row
    while ( !feof($handle) ){
        $buffer = fgets($handle, 4096);
        $Qry = "Insert into esm_survey values( $buffer )" ;
    	 @MySQLQuery($Qry);
    }
    fclose ($handle);
    */
    //--------------------------------
    
    
    ?>
    Code (markup):

    Which generates a CSV file which looks like this:
    [​IMG]


    HOWEVER

    I NEED IT TO BE FORMATTED LIKE THIS:

    [​IMG]

    I really need this done by today, i hope someone can help :)
     
    adam1987, Apr 19, 2007 IP