2011-11-09 44 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; 
}