2012-03-22 95 views
0

我試圖從mysql_fletch_assoc數組中獲取特定值。我解釋。這是數據庫。表:配置與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 

我希望現在更清楚

+0

執行'var_dump($ setting)'來查看數組中的內容。這可能是'$ setting ['VALUE']'? – deceze 2012-03-22 00:18:57

+0

配置和值是什麼?表名或表字段?你能更好地展示桌子嗎? – Shoe 2012-03-22 00:22:02

+2

我不在乎教程網站告訴你什麼,不要使用'mysql'擴展名。 ** **永遠。使用'PDO'或'mysqli'。請參考:http://marc.info/?l = php-internals&m = 131031747409271&w = 2 – rdlowrey 2012-03-22 00:22:23

回答

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 
+0

我希望使用font-size = 10說一個非常感謝你!你的代碼是完美的! – user1274113 2012-03-22 01:25:51

0

數組下標是整數,而不是字符串:

$setting['value'][0] 
+0

是的,我也用[0]嘗試過,但用這個我得到數組中每個記錄的第一個字符(我不明白爲什麼)。 – user1274113 2012-03-22 00:21:47

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>"; 
} 
+0

否。看看我上面發佈的db示例。我只想在兩個單獨的變量中得到100和50讓我們說:$ row ['setting'] ['width'] = 100 and $ row ['setting'] ['height'] = 50 – user1274113 2012-03-22 00:25:03

0

「每個元素」是什麼意思? 在while循環$設置中包含一個返回行:

第一個循環:

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

第二環:

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

(注:mysql_fetch_assoc應該更好地編寫一個小F)

0

好,考慮什麼斯塔克只是指出,我建議你檢查你的表格結構。你可以有這樣的表結構

Width | Height 
200 | 150 

所以你可以隨時檢索一個單一的查詢。我猜這些屬性的對象的某種類型的ID,我不認爲在這種情況下,在數據庫的不同行中具有屬性是很有意義的。