显示数组的值

时间:2012-03-22 00:15:42

标签: php mysql arrays

我正在尝试从mysql_fletch_assoc数组中获取特定值。我解释。这是数据库。表: config ,包含2个字段:设置

SETTING | VALUE
width | 100    
height | 50

这是查询:

$result = (mysql_query("SELECT setting, value FROM config"));
while($setting = mysql_Fetch_assoc($result)){


    echo $setting['value'];
    echo "<br>";

现在我可以看到整个阵列。我想单独显示每个元素。我尝试使用$ setting ['value'] ['0'],$ setting ['value'] ['width']但没有成功。

编辑:基本上我想做这样的事情:

echo $setting['value']['width'] gives -> 100 
echo $setting['value']['height'] gives -> 50

我希望现在更清楚了

5 个答案:

答案 0 :(得分:2)

首先,可能存在拼写错误mysql_Fetch_assoc,请将其修复为mysql_fetch_assoc

并且为了接收模式上的值,请执行以下操作

$setting = array();
while($row = mysql_fetch_assoc($result)) {
     $setting['value'][$row['setting']] = $row['value'];
}

现在,您可以根据需要实现它们

echo $setting['value']['width']; // will give -> 100 
echo $setting['value']['height']; // will give -> 50

答案 1 :(得分:0)

数组索引是整数,而不是字符串:

$setting['value'][0]

答案 2 :(得分:0)

我认为你正在尝试做这样的事情:

$result = (mysql_query("SELECT setting, value FROM config"));
while($row = mysql_fetch_assoc($result)){
    echo $row['setting'];
    echo "<br>";
    echo $row['value'];
    echo "<br>";
}

答案 3 :(得分:0)

你对“每个元素”的意思是什么? 在while循环中,$ setting包含一个返回的行:

第一循环:

$setting = array('config' => 'width', 'value' => 100);

第二次循环:

$setting = array('config' => 'height', 'value' => 50);

(nb:mysql_fetch_assoc最好用小f编写)

答案 4 :(得分:0)

好吧,考虑到Stark刚刚指出的内容,我建议你检查你的桌面结构。你可以有这样的表结构

Width | Height
200   |  150

因此,您始终可以使用单个查询检索两者。我猜测具有这些属性的对象的某种ID,我不认为在这种情况下将数据库中的不同行中的属性放在一起会很有意义。