数组声明
问题描述:
我想声明一个数组像$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提前。
答
你需要做两件事。
- 执行查询以从数据库中获取所需的信息。
- 将查询结果转换为您想要的格式。
下面是一些示例代码(假设您已经成功连接到数据库)。
假设我已经在你的数据库模式做出有:
- 您使用
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
您使用的数据库是? – GWW 2011-02-15 06:40:46
mysql,wamp服务器phpmyadmin – champ 2011-02-15 06:41:42
发表你试过的东西。另外,你正在使用哪个数据库? – SuperSaiyan 2011-02-15 06:41:57