2014-05-08 64 views
1

我有下面的代碼顯示正確的結果對我來說,但不幸的是我不能將這些結果傳遞到我的HTML頁面並返回一定的值。面對數組的瓶頸

這是我的SQL語句:

$stmt = "SELECT * FROM "._CONST_TBL_EVENT_COMMENT." WHERE event_id = $record"; 

if($rs = $db->Execute($stmt)) 
{ 
    while($rsa = $rs->FetchRow()) 
    { 

     array_push($arrResult, array(
      "id" => $record, 
      "name" => $alumni->getAlumniNameForEventComment($rsa['member_id']), 
      "file_path" => $alumni->getAlumniImageForEventComment($rsa['member_id']), 
      "content" => $rsa['text'], 
      "date" => $rsa['modified_timestamp'] 
     )); 
    } 
} 

這是結果我得到:

Array ([0] => 
     Array ([id] => 1 [name] => 
      Array ([0] => Array ([name] => alisdfsadf)) 
      [file_path] =>Array ([0]=> Array ([file_path] => hydrangeas_23197.jpg)) 
      [content] => test test test test 
      [date] => 2014-05-08 00:00:00) 
     [1] => 
     Array ([id] => 1 [name] => 
      Array ([0] => Array ([name] => billy)) 
      [file_path] => Array ([0] => Array ([file_path] =>)) 
      [content] => sdfasdfas test 
      [date] => 2014-05-22 00:00:00) 
) 

但我想這樣我的結果顯示:

Array ([0] => Array([id] => 1 [name] => alisdfsadf 
[file_path] => hydrangeas_23197.jpg 
[content] => test test test test 
[date] => 2014-05-08 00:00:00) 

如何我做這個?我希望有人能幫助我。先謝謝了。

+0

爲什麼'getAlumniNameForEventComment'和'getAlumniImageForEventComment'返回數組而不是字符串? – Barmar

回答

1

您在$ alumni類中的函數看起來是返回數組。 此基礎上,你已經給了,並試圖扭轉工程師輸出...

while($rsa = $rs->FetchRow()) 
{ 
    $allNamesArray = $alumni->getAlumniNameForEventComment($rsa['member_id']); 
    $firstNameArray = $allNamesArray[0]; 
    $name = $firstNameArray['name']; 

    // similar for file path. 

    array_push($arrResult, array(
     "id" => $record, 
     "name" => $name, 
     "file_path" => $alumni->getAlumniImageForEventComment($rsa['member_id']), 
     "content" => $rsa['text'], 
     "date" => $rsa['modified_timestamp'] 
    )); 
} 
+0

謝謝。有用。 – user3517652

+0

沒問題,很高興我能幫上忙。 – tomsowerby

1

由於getAlumniXXXForEventComment函數返回數組,你要索引他們得到你想要的字符串。

if($rs = $db->Execute($stmt)) 
{ 
    while($rsa = $rs->FetchRow()) 
    { 
     $nameArray = $alumni->getAlumniNameForEventComment($rsa['member_id']); 
     $name = is_array($nameArray) ? $nameArray[0]['name'] : $nameArray; 
     $fileArray = $alumni->getAlumniImageForEventComment($rsa['member_id']); 
     $file = is_array($fileArray) ? $fileArray[0]['file_path'] : $fileArray; 
     array_push($arrResult, array(
      "id" => $record, 
      "name" => $name, 
      "file_path" => $file, 
      "content" => $rsa['text'], 
      "date" => $rsa['modified_timestamp'] 
     )); 
    } 
+0

我得到偏移錯誤警告:非法字符串偏移'file_path'在C:\ xampp \ htdocs \ www.victorians93.com \ sharelibrary \ modules \ event \ Event.inc.php在線77 注意:未初始化的字符串偏移量:0在C:\ xampp \ htdocs \ www.victorians93.com \ sharelibrary \ modules \ event \ Event.inc.php上線77 警告:C:\ xampp \ htdocs \ www.victorians93中的非法字符串偏移量'file_path'。 com \ sharelibrary \ modules \ event \ Event.inc.php on line 77 注意:在C:\ xampp \ htdocs \ www.victorians93.com \ sharelibrary \ modules \ event \ Event.inc.php中未初始化的字符串偏移量爲0在線77 – user3517652

+0

'getAlimniImageForEventComment'有時會返回一個字符串,而其他時間會返回一個數組?您顯示的示例輸出始終有一個數組。 – Barmar

+0

它沒有任何返回 – user3517652