数组声明

问题描述:

我想声明一个数组像$value=array('apple'=>'red', 'mango'=>'yellow'). 现在我想要从数据库中获取这个值。 苹果和红色。 假设这个色彩被保存在名为“颜色”的表中,并且在水果表中用color_id保存。 现在如何获取它们并放入这个数组中。数组声明

我试图把代码放在像数组这样的括号中(代码来获取),但它没有工作。 有人可以帮忙吗?

表 - >果(fruit_id,COLOR_ID,fruit_name) 表 - >色(COLOR_ID,COLOR_NAME)

$result=mysql_query("select * from 
fruit_table"); 
while($row=mysql_fetch_array($result)){ 
    $row_color-mysql_fetch_array(mysql_query("select color_name from colors where 
color_id=$row['color_id']")); 
$val[]="$row['fruit_name']=>$row_color[color_name]"; 

} 
$data=implode(",",$val); 
$value=array($data); 

thanxx提前。

+1

您使用的数据库是? – GWW 2011-02-15 06:40:46

+0

mysql,wamp服务器phpmyadmin – champ 2011-02-15 06:41:42

+0

发表你试过的东西。另外,你正在使用哪个数据库? – SuperSaiyan 2011-02-15 06:41:57

你需要做两件事。

  1. 执行查询以从数据库中获取所需的信息。
  2. 将查询结果转换为您想要的格式。

下面是一些示例代码(假设您已经成功连接到数据库)。

假设我已经在你的数据库模式做出有:

  • 您使用id作为两个表
  • name在主键包含颜色/水果名称领域

如果它们是正确的,它应该工作,否则需要对查询进行小调整

$result = mysql_query(' 
    SELECT fruits.name as fruit, colors.name as color 
    FROM fruits 
    JOIN colors 
    ON fruits.color_id = color.id'); 

if (!$result) { 
    die(mysql_error()); 
} 

$value = array(); 

while ($row = mysql_fetch_assoc($result)) { 
    $value[$row['fruit']] = $row['color']; 
} 

mysql_free_result($result); 

这样?

$value = array(); 
while ($r = mysql_fetch_array($mySqlQuery)){ 
    $value[$r['fruit_field']] = $r['color_field']; 
} 

MySQL query is not here;希望你已经拥有它。

以下是进行以下工作的代码。 这基本上是关键值对在关联数组

//Assuming the name of the fruits column is fruit_name and color column is color_name 

$value = array(); 
$query = "SELECT * FROM colors as c LEFT JOIN fruits as f ON c.color_id=f.color_id"; 
$result = mysql_query($query); 

if(mysql_num_rows($result) > 0) 
{ 
while($row = mysql_fetch_array($result)) 
{ 
$fruitname = $row['fruit_name']; 
$colorname = $row['color_name']; 
$value['$fruitname'] = $color_name; 
} 
} 

在循环结束时的概念作为所需的值阵列将具有的值。

谢谢 J