2011-11-09 45 views
1

我有一個MySQL表需要從兩個MySQL colums

||==========||==========||==========|| 
|| id || name || age || 
||==========||==========||==========|| 
|| 1  || joe || 10  || 
|| 2  || harry || 20  || 
|| 3  || jane || 45  || 
|| 4  || john || 56  || 
|| 5  || larry || 89  || 
|| 6  || henry || 23  || 
|| 7  || steve || 25  || 
|| 8  || eric || 56  || 
|| 9  || dave || 98  || 
|| 10 || mat || 56  || 
||==========||==========||==========|| 

我需要的SQL查詢將使從這個表中的關聯數組,並給我重視這樣

id=>age 
1=>10 
4=>56 

關聯數組我也需要讓所有的ID作爲一個變量,其中有值將是年齡一樣

$1 = 10 
$4 = 56 

,或者如果我可以添加的前綴變量

$id_1 = 10 
$id_4 = 56 

由於事先

+0

我認爲他們沒有直接的方法來生成這樣的數組,首先獲取記錄並按照需要將結果存儲到數組中。 – punit

回答

2

在PHP中,mysql_fetch_assoc()需要查詢的結果,並且返回一個一行作爲關聯陣列。重複調用它以獲取所有行。

0

如果您使用PHP的獲取你的數據,你可以使用函數mysql_fetch_array例如:

while($row = mysql_fetch_assoc($resource)) 
{ 
echo $row['name'].'<br>'; 
} 

你可以知道更多關於MySQL的功能在這個網站的PHP:http://www.php.net/manual/en/book.mysql.php

0
$ids = '1, 4'; 
$sql = "select age from __TABLE__ where id in ({$ids})"; 

$link = mysql_connect('__SERVER__', '__DBUSER__', '__DB_PWD__') or die('connect error'); 
$db = mysql_select_db('__DBNAME__', $link) or die('db error'); 

$rs = mysql_query($sql, $link); 

$result = array(); 
while($row = mysql_fetch_assoc($rs)) 
{ 
    $result[] = $row; 
} 
extract(my_result($result)); 
var_dump($id_1); 
var_dump($id_4); 
function my_result($result, $prefix = 'id_') 
{ 
    $data = array(); 
    foreach($result as $k => $v) 
    { 
     $data[$prefix . $v['id']] = $v['order_no']; 
    } 
    return $data; 
}