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