From 115f94d0190a436c66955fbf2974b0cad107e89e Mon Sep 17 00:00:00 2001 From: rob Date: Thu, 30 Jan 2003 10:47:14 +0000 Subject: [PATCH] Added to functionality to specify multiple variables to add to the query string --- lib/visualpatterns/PatternListBox.inc | 5 ++++- lib/visualpatterns/PatternTableSqlQuery.inc | 26 +++++++++++++++++++++----- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/lib/visualpatterns/PatternListBox.inc b/lib/visualpatterns/PatternListBox.inc index 265fcb4..a863420 100644 --- a/lib/visualpatterns/PatternListBox.inc +++ b/lib/visualpatterns/PatternListBox.inc @@ -98,7 +98,10 @@ class PatternListBox { global $default; $sql = $default->db; - $sQuery = "SELECT DISTINCT $this->sDisplayColumn AS display, $this->sValueColumn AS value FROM $this->sTableName "; + $sQuery = "SELECT DISTINCT ST." . $this->sDisplayColumn . " AS display, ST." . $this->sValueColumn . " AS value FROM $this->sTableName AS ST "; + if (isset($this->sFromClause)) { + $sQuery .= $this->sFromClause . " "; + } if (isset($this->sWhereClause)) { $sQuery .= "WHERE " . $this->sWhereClause . " "; } diff --git a/lib/visualpatterns/PatternTableSqlQuery.inc b/lib/visualpatterns/PatternTableSqlQuery.inc index 5cfed44..1064ce9 100644 --- a/lib/visualpatterns/PatternTableSqlQuery.inc +++ b/lib/visualpatterns/PatternTableSqlQuery.inc @@ -37,8 +37,10 @@ class PatternTableSqlQuery { var $sWidth; /** link url used if a column type of 3 is specified */ var $sLinkURL; - /** database column value to append to link url if a column type of 3 is specified */ - var $sDBQueryStringColumn; + /** database column values to append to link url if a column type of 3 is specified */ + var $aDBQueryStringColumns; + /** variables names to give $aDBQueryStringColumns on the query string */ + var $aQueryStringVariableNames; /** display the column headings or not */ var $bDisplayColumnHeadings; /** table heading */ @@ -50,7 +52,7 @@ class PatternTableSqlQuery { /** message that will be displayed if the table is empty*/ var $sEmptyTableMessage; - function PatternTableSqlQuery($sTmpQuery, $aTmpColumns, $aTmpColumnTypes, $aTmpColumnHeaderNames, $sTmpWidth, $sTmpLinkURL = null, $sTmpDBQueryStringColumn = null, $bTmpDisplayColumnHeadings = false) { + function PatternTableSqlQuery($sTmpQuery, $aTmpColumns, $aTmpColumnTypes, $aTmpColumnHeaderNames, $sTmpWidth, $sTmpLinkURL = null, $sTmpDBQueryStringColumns = null, $aNewQueryStringVariableNames = null) { $this->sQuery = $sTmpQuery; $this->aColumns = & $aTmpColumns; $this->aColumnTypes = $aTmpColumnTypes; @@ -58,7 +60,8 @@ class PatternTableSqlQuery { $this->sWidth = $sTmpWidth; $this->bDisplayColumnHeadings = $bTmpDisplayColumnHeadings; $this->sLinkURL = $sTmpLinkURL; - $this->sDBQueryStringColumn = $sTmpDBQueryStringColumn; + $this->aDBQueryStringColumns = $sTmpDBQueryStringColumns; + $this->aQueryStringVariableNames = $aNewQueryStringVariableNames; } function setEmptyTableMessage($sNewValue) { @@ -77,6 +80,10 @@ class PatternTableSqlQuery { $this->bUseImageURLFromQuery = $bNewValue; } + function setDisplayColumnHeadings($bNewValue) { + $this->bDisplayColumnHeadings = $bNewValue; + } + /** * Build the HTML string used to render the object * @@ -121,7 +128,16 @@ class PatternTableSqlQuery { $sToRender .= $sql->f($this->aColumns[$i]) . ""; break; case 3: - $sToRender .= "sLinkURL . $sql->f($this->sDBQueryStringColumn) . "\">"; + $sToRender .= "sLinkURL; + for ($j = 0; $j < count($this->aDBQueryStringColumns); $j++) { + if (strpos($sToRender, "?") === false) { + $sToRender .= "?" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]); + } else { + $sToRender .= "&" . $this->aQueryStringVariableNames[$j] . "=" . $sql->f($this->aDBQueryStringColumns[$j]); + } + } + $sToRender .= "\">"; + if (isset($this->sImageURL)) { $sToRender .= $this->generateImageURL($this->sImageURL); } else if ($this->bUseImageURLFromQuery) { -- libgit2 0.21.4