我希望将数组声明为$value=array('apple'=>'red', 'mango'=>'yellow').
现在我希望从数据库中获取这些值。
苹果和红色。
假设这个coloures被保存在名为'colors'的表中,并且在'fruits'表中使用color_id保存。
现在如何获取它们并放入这个数组。
我试图将代码放在括号中,就像数组一样(要获取的代码),但它确实无法正常工作。 任何人都可以帮忙吗?
table-> fruit(fruit_id,color_id,fruit_name) 表 - > color(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);
提前答案 0 :(得分:3)
您需要做两件事。
这是一些示例代码(假设您已成功连接到数据库)。
我对您的数据库架构所做的假设是:
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);
答案 1 :(得分:1)
这样吗?
$value = array();
while ($r = mysql_fetch_array($mySqlQuery)){
$value[$r['fruit_field']] = $r['color_field'];
}
MySQL查询不在这里;希望你已经拥有它。
答案 2 :(得分:1)
以下是进行以下工作的代码。 这基本上是ASSOCIATIVE ARRAY中键值对的概念
//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;
}
}
在循环结束时,value数组将具有所需的值。
由于 Ĵ