2014-05-09 59 views
0

我有一個導航菜單,其中的子菜單鏈接是href="?p=1a"。我通過對很多if語句進行硬編碼來解決了這個問題,但是通過在數組中執行此操作,它可以像5行代碼一樣解決。我不知道如何檢查哪個數組,它應該顯示的內容來自於在url欄中?p等於什麼。我已經開始,但不知道如何過關。檢查數組中的哪個數組php

$database= array(
    '1a' => array ('data1','data2','data,3') 
    '1b' => array ('data4','data5','data,6') 
    '1c' => array ('data7','data8','data,9') 
    '1d' => array ('data10','data11','data,12')); 

foreach($database as key=> $data){ 

    $page_id=$_GET['p']; 
    if($data==$page_id){ 

     $get_choice=mysql_query("SELECT FROM choice where $data='1'") or die(); 
     while($row=mysql_fetch_assoc($get_choice){ 
      $choice_id=$row['id']; 
     } 
     echo $choice_id; 
     $choice_id=""; 
    } 
} 

其中?p等於deside哪個數組它應與以下數據元素選擇。

編輯 data1,2,3,4,5,6,7等等等等是collumns在我的數據庫,這取決於用戶的複選框已檢查爲1或0,如果他們檢查DATA1它將recive 1,它會顯示某些div標籤中的內容,當有人點擊導航菜單中的子鏈接時,它將只顯示data1,data2,data3,data4,具體取決於他們點擊的鏈接。

+0

'choice_id'不會對最後一行它前面一個'$',因此不被視爲可變 – ndsmyter

+0

我校正打字misstake ,但是這樣就解決了我一直在尋找的問題。 – user3616064

+0

我知道這不是你的問題的答案,這就是爲什麼它在'評論'中提到,而不是'答案';-) – ndsmyter

回答

0

據我所知,你是否試圖發送多個參數作爲數組,然後,你可以使用html相同的名稱元素髮送params數組。

然後你只需要訪問$_GET[$_GET['p']][0 .. 10] params。我想這就是你要找的。所以你可以輕鬆建立你的查詢。

對於多個元素相同的名稱: <input type=text name=1a[] /> #data0 <input type=text name=1a[] /> #data1 <input type=text name=1a[] /> #data2 '

+0

這是有點我的方式,但我相反,我爲數據1,2,3價值,4可以是1或0,具體取決於他們檢查的複選框。 – user3616064