2010-02-05 54 views
3

這可能很簡單,但我可以做一些幫助。PHP - 從多維數組中提取單個值

我想創建一個小的PHP函數,當用戶使用兩個下拉框選擇數組的行和列時,它將顯示一個多維數組的單個值。

因此,用戶將從第一個下拉框中進行選擇,該框中將包含行的標題,然後從第二個下拉框中進行選擇,該下拉框將包含列的標題。一旦選擇完成,該功能就需要輸出所選特定行和列的值。

我以爲我創建了一個可以工作的數組,但可悲的是沒有。我的數據表中有6行6列。

另外,有沒有JQuery或Javascript的替代?

只是尋找一些指針,讓我在我的路上。

由於提前,

Micanio

+0

如果你發佈一些代碼,它會更容易理解你正在嘗試做什麼 – meouw 2010-02-05 16:05:57

+0

目前沒有代碼,我正努力從哪裏開始.... – Micanio 2010-02-05 16:22:20

回答

0
$data = array(); 
for ($i=0;$i<6;$i++) { 
    $data[$i] = array(); 
    for ($j=0;$j<6;$j++) 
     $data[$i][$j] = rand(0,100); 
} 

這應該創建一個類似於你所描述什麼的數組。

然後,您可以訪問它是這樣的...

echo $data[0][3]; 

你的形式將需要兩個選擇字段,都將值0-5,那麼你可以把兩者並用它們來訪問值在你的數組中。

0

如果我正確理解你的問題,你需要像用戶一樣選擇一個下拉列表。一旦選擇,該選項將填充第二個列表。一個真實世界的例子是用戶在Country上選擇來填寫表格,並填入States下拉列表。

這種功能通常使用javascript而不是服務器端php完成。

http://javascript.internet.com/forms/country-state-drop-down.html

+0

這是接近我所期待的,但不是相當。這幾乎就像我指定的座標 - 我需要用戶輸入X和Y到下拉框中,這將給我一個值Z存儲在這些座標.... 這是否過於簡單? 感謝您的回答,雖然... – Micanio 2010-02-05 16:27:38

1

你可以做這一點在服務器端或通過JS。

JS:讓腳本使用下拉列表的onChange()事件更新隱藏表單域。然後,當表單被髮回到服務器(始終檢查有效數據的源)時,只需抓取該隱藏字段即可。

PHP:表格將提供兩個值$_POST['field1']$_POST['field2'](當然,您將在使用之前進行消毒)。該腳本可以定義一個multidimensional array,你可以養活這兩個值分爲:

$finalValue = $mdArray[$SanitizedField1][$SanitizedField2]; 

從那裏只存儲$最終值,但是你會喜歡。

+0

死簡單...我也這麼想。 – 2010-02-06 18:33:50