2012-02-28 44 views
0

我有一個表,我正在繪製的信息,有幾個領域。特別需要連接的兩個字段是Firstname和Surname,但我不能將另一列添加到實際表中。如何在PHP函數中連接?

當我打電話時,是否可以編輯我的PHP函數來連接它?

這是我的PHP函數

public function getCustomerinfoByCompanyID($itemID) { 

    $stmt = mysqli_prepare($this->connection, "SELECT * FROM $this->tablename where CompanyID=?"); 
    $this->throwExceptionOnError(); 

    mysqli_stmt_bind_param($stmt, 'i', $itemID);   
    $this->throwExceptionOnError(); 

    mysqli_stmt_execute($stmt); 
    $this->throwExceptionOnError(); 

    $rows = array(); 

    mysqli_stmt_bind_result($stmt, $row->CustID, $row->CompanyID, $row->FirstName, $row->Surname, $row->CellNo, $row->Email); 

    while (mysqli_stmt_fetch($stmt)) { 
     $rows[] = $row; 
     $row = new stdClass(); 
     mysqli_stmt_bind_result($stmt, $row->CustID, $row->CompanyID, $row->FirstName, $row->Surname, $row->CellNo, $row->Email); 
    } 

    mysqli_stmt_free_result($stmt); 
    mysqli_close($this->connection); 

    return $rows; 
} 
+1

這只是數據庫代碼。但是你談論輸出。請改爲輸出代碼。 – hakre 2012-02-28 23:52:30

+0

AHHH退出使用程序API它如此令人反感! ;-) – prodigitalson 2012-02-28 23:52:54

+0

@hakre:好的,他可以將屬性添加到'stdObject''s hes保溼,而不是直接在視圖中處理它。 – prodigitalson 2012-02-28 23:54:10

回答

3

SELECT *,CONCAT(FirstName,' ',Surname) as FullName FROM $this->tablename where CompanyID=? 

那就改

mysqli_stmt_bind_result($stmt, $row->CustID, $row->CompanyID, $row->FirstName, $row->Surname, $row->CellNo, $row->Email); 

喜歡的東西

mysqli_stmt_bind_result($stmt, $row->CustID, $row->CompanyID, $row->FullName, $row->CellNo, $row->Email); 
你可以改變你的查詢

並且你在一列上有它

+0

大的幫助,謝謝卡米洛。不幸的是,雖然它的工作原理,我使用它的地方,IE Adob​​e Flex,它不允許我然後分配FullName作爲我的輸出渲染在我的微調列表中。但我會繼續試驗,直到我找到正確的答案。 – JESlabbert 2012-02-29 00:38:47

+0

嗯,我不知道唯一身份證或關鍵字是使用你的Flex腳本,但你可以使用任何東西來匹配它,如果你是usig FirstName,那麼你可以使用SQL查詢作爲'SELECT CustID,CompanyID,CONCAT(FirstName,''姓氏)​​as FirstName,CellNo,Email FROM $ this-> tablename where CompanyID =?'這樣你只有一個FirstName字段,其中包含兩個字段,你將傳遞相同的ID到Flex – 2012-02-29 01:11:38

+0

我來了Camilo :)這是我的一個愚蠢的錯誤。你的代碼工作完美:) – JESlabbert 2012-03-01 08:37:44