2011-01-31 31 views
0

我有一個SQL查詢返回一個場的結果,所以我有以下:的PHP/MySQL - 裝載的結果到一個數組

$article_id = $this->item->id; 
$authors_default = mysql_query("SELECT multi_authors FROM jos_jxzine_articles WHERE id = '$article_id' LIMIT 1"); 
$authors_default = mysql_fetch_assoc($authors_default); 
echo $authors_default['multi_authors']; 

此回聲出

128,129 

等爲不同的查詢。

我怎樣才能讓這個成以下

array(128,129) 

爲了然後放入預先寫好的功能?

乾杯

+0

對我來說,這看起來很奇怪,你正在使用`$ authors_default`兩個,結果集的指針和實際數據。如果你只想獲取一個值,這可能會奏效,但我認爲最好將「mysql_query」的返回值賦給另一個變量。 – 2011-01-31 23:48:44

回答

0
$authors_array = explode(",", $authors_default['multi_authors']); 

這將掰開你的MySQL導致到一個數組。由於您的查詢拉取了一個由逗號分隔的字符串,因此可以使用explode()函數分隔出字符串。

http://php.net/manual/en/function.explode.php

3

下面的代碼需要,MySQL的行,將其分解成使用,作爲分隔符件。然後它將該字符串數組轉換爲整數數組。

$authors_arr = explode(',', $authors_default['multi_authors']); 
// $authors_arr = array("128", "129"); 
$authors_arr = array_map('intval', $authors_arr); 
// $authors_arr = array(128, 129); 

然後,您可以通過該數組到一個函數,像這樣:

myFunction($authors_arr); // Or however you have it setup.