From b76e29242fd399c47ec633152092f9ce7ac917fc Mon Sep 17 00:00:00 2001 From: Michelle Jones Date: Wed, 27 Feb 2013 16:59:48 -0500 Subject: Remove trailing delimiters from csv_from_result When using the csv_from_result function, the returned string includes an extra delimiter at the end of every line, usually a comma unless another delimiter is specified. A simple addition of a couple of lines to remove the extra delimiter from the column names and the data rows is included. (Lines 241 and 251) --- system/database/DB_utility.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'system/database') diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php index 9822fdaa3..9803307ed 100644 --- a/system/database/DB_utility.php +++ b/system/database/DB_utility.php @@ -238,7 +238,8 @@ abstract class CI_DB_utility { $out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $name).$enclosure.$delim; } - $out = rtrim($out).$newline; + $out = substr(rtrim($out),0,-strlen($delim)); // Remove the trailing delimiter character(s) at the end of the column names + $out = $out.$newline; // Next blast through the result array and build out the rows while ($row = $query->unbuffered_row('array')) @@ -247,6 +248,7 @@ abstract class CI_DB_utility { { $out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $item).$enclosure.$delim; } + $out = substr(rtrim($out),0,-strlen($delim)); // Remove the trailing delimiter character(s) at the end of the row lines $out = rtrim($out).$newline; } -- cgit v1.2.3-24-g4f1b From 31875730b3cb67e865e99e748f885c5365339c9e Mon Sep 17 00:00:00 2001 From: Michelle Jones Date: Thu, 28 Feb 2013 09:44:47 -0500 Subject: added spaces after the parameter separators --- system/database/DB_utility.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'system/database') diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php index 9803307ed..b270cdd4d 100644 --- a/system/database/DB_utility.php +++ b/system/database/DB_utility.php @@ -238,7 +238,7 @@ abstract class CI_DB_utility { $out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $name).$enclosure.$delim; } - $out = substr(rtrim($out),0,-strlen($delim)); // Remove the trailing delimiter character(s) at the end of the column names + $out = substr(rtrim($out), 0, -strlen($delim)); // Remove the trailing delimiter character(s) at the end of the column names $out = $out.$newline; // Next blast through the result array and build out the rows @@ -248,7 +248,7 @@ abstract class CI_DB_utility { { $out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $item).$enclosure.$delim; } - $out = substr(rtrim($out),0,-strlen($delim)); // Remove the trailing delimiter character(s) at the end of the row lines + $out = substr(rtrim($out), 0, -strlen($delim)); // Remove the trailing delimiter character(s) at the end of the row lines $out = rtrim($out).$newline; } -- cgit v1.2.3-24-g4f1b From d327c797027d4ccf3bb624d7f4edd10997e372ac Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Fri, 1 Mar 2013 16:28:58 +0200 Subject: Optimize changes from PR #2290 --- system/database/DB_utility.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'system/database') diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php index b270cdd4d..9f953d4ac 100644 --- a/system/database/DB_utility.php +++ b/system/database/DB_utility.php @@ -238,8 +238,7 @@ abstract class CI_DB_utility { $out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $name).$enclosure.$delim; } - $out = substr(rtrim($out), 0, -strlen($delim)); // Remove the trailing delimiter character(s) at the end of the column names - $out = $out.$newline; + $out = substr(rtrim($out), 0, -strlen($delim)).$newline; // Next blast through the result array and build out the rows while ($row = $query->unbuffered_row('array')) @@ -248,8 +247,7 @@ abstract class CI_DB_utility { { $out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $item).$enclosure.$delim; } - $out = substr(rtrim($out), 0, -strlen($delim)); // Remove the trailing delimiter character(s) at the end of the row lines - $out = rtrim($out).$newline; + $out = substr(rtrim($out), 0, -strlen($delim)).$newline; } return $out; -- cgit v1.2.3-24-g4f1b From 5780d8b2078126f8eb5738658fceadd38c66fe5b Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Mon, 4 Mar 2013 07:38:16 +0200 Subject: Fix #2298 --- system/database/DB_result.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'system/database') diff --git a/system/database/DB_result.php b/system/database/DB_result.php index a044fd5dc..41a851777 100644 --- a/system/database/DB_result.php +++ b/system/database/DB_result.php @@ -478,12 +478,9 @@ class CI_DB_result { return NULL; } - if (isset($result[$this->current_row + 1])) - { - ++$this->current_row; - } - - return $result[$this->current_row]; + return isset($result[$this->current_row + 1]) + ? $result[++$this->current_row] + : NULL; } // -------------------------------------------------------------------- -- cgit v1.2.3-24-g4f1b