看板 PHP 關於我們 聯絡資訊
※ 引述《kerash (K.T)》之銘言: : 恕刪部分,假設考慮到只有 merge 問題要解決的話 : ※ 引述《sweetjp6 (水餃)》之銘言: : : for ($i=0 ; $i < sizeof($alldrama); $i++){ : : $take = "SELECT brand, action, sequence FROM robot where : : screenplayname= '".$alldrama[$i]."' " ; : : $result = mysql_query($take, $db_connect) ; : : $many = mysql_num_rows($result) ; : : for ($j=0 ; $j < $many ; $j++){ : // $mergeDtl[] = mysql_fetch_assoc($result) ; : // ^^ 問題在這大家都知道了,所以修正 : $mergeDtl = mysql_fetch_assoc($result); // array結果 : $action[] = $mergeDtl['action'] ; : // 假如是 array_merge 的方法 : // $action = array_merge((array)$action,(array)$mergeDtl['action']); : $brand[] = $mergeDtl['brand'] ; : : } : : } 來湊咖 XD 我的話的寫法: $all = implode ("', '", $alldrama); // 這邊懶惰沒做滲入過濾 :Q $sql = "SELECT `brand`, `action`, `squence` FROM `robot`" ." WHERE `secreenplayname` IN ('$all')"; $res = mysql_query ($sql, $db_connect); $mergeDtl = $action = $brand = Array (); while ($tmp = mysql_fetch_assoc ($res)) { $mergeDtl[] = $tmp; $action = array_merge ($action, (array) $tmp['action']); $brand[] = $tmp['brand']; } 不過我很懷疑,從資料庫拿出來的欄位資料型別應該不是陣列吧? $action = array_merge ($action, (array) $tmp['action']); 這樣湊的出 $action = ["hi", "i", "am", "trying", "it"] 嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.181.150.81
kerash:請問 "從資料庫拿出來的欄位資料型別應該不是陣列吧" 是指? 04/24 15:31
kerash:mysql_fetch_assoc 回傳是 array,還是我會錯意了? 04/24 15:32
gpmm:我是說單一欄位,像 $tmp['action'] 這個丟出來的應該不是 04/24 16:24
gpmm: array 吧? o_O 04/24 16:24
gpmm:基本上 MySQL 應該沒有可以儲存 Array 的欄位型態 04/24 16:24
gpmm:所以這個實做怎麼看都怪怪的… 囧 04/24 16:25
kerash:他應該只是要把結果取出來存成陣列,$tmp['action']出來是 04/24 16:32
kerash:字串,再把他用轉型成 array 吧~? @@ 04/24 16:32
kerash:我是這樣寫啦,至於結果因為我目前沒DB可以測,不確定..囧! 04/24 16:33