2013-06-04 68 views
-1

我需要爲第二個數組內的每個數組元素獲取唯一的ID。這個ID已經存在於表格中,但我不能單獨獲取它們。我現在得到的URL看起來像這樣:http://page.com/index.php?p=view&m=area&id=173id=552id=768id=36id=217id= 我只需要一個ID,如果第一個使用set second等等。 我知道我應該使用mysqli或PDO和規範化的表格,但以後,現在我需要幫助。獲取第二個數組內的每個數組元素的ID

這是代碼:

$res= mysql_query("SELECT * FROM area WHERE user='$user' ORDER BY date") or  die("Error: " . mysql_error()); 
while($row = mysql_fetch_assoc($res)) 
{ 
    $id = $row['id']; 
    $x = array(); 
    $parent = array(); 
    foreach($row as $value) 
    { 
     if ($value == $id) continue; 

     else if ($value == $user) continue; 

     $result = explode(",", $value); 

     foreach($result as $newvalue) 
     { 
     $query = "SELECT x,firm FROM list where list.x='$newvalue'"; 
     $result = mysql_query($query); 
     $r = mysql_fetch_assoc($result); 
     $x[] = $r['x']; 
     $xx = implode("id=",$x); 
     $parent[] = $r['firm']; 
     $list = implode("<a href='index.php?p=view&m=area&$xx'>", $parent)."</a>"; 
     } 
    } 
echo "<td><span>" . $list . "</span>/td>"; 

} 

謝謝

回答

0

即URL語法是不是值的數組傳遞給PHP腳本的正確方法。它應該爲參數名稱使用PHP數組語法。另外,你需要用一個符號(&)分隔您的參數:使用

$second_id = $_GET['id'][1]; // 552 

http://page.com/index.php?p=view&m=area&id[]=173&id[]=552&id[]=76&8id[]=36&id[]=217 

然後你就可以得到第二個...

僅供參考,you shouldn't use mysql_* functions in new code。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial

+0

我不需要第二個ID。只是第一。其餘需要刪除,隱藏或其他 – jak

+0

然後獲得第一個。我告訴你如何去做。 –

+0

我們正在考慮不同的網頁。我知道如何得到它,但首先我需要正確顯示它。現在是:&id = 173id = 552id = 768,但應該是:http://page.com/index.php?p=view&m=area&id=173和http://page.com/index.php?p=view&m = area&id = 552等等。它在同一頁上的多個鏈接 – jak

1

首先

$list = implode("<a h 

應該

$list .= implode("<a h 
+0

當我補充說,一切都成倍增長。所有的結果都翻倍,增加了三倍...... – jak

+0

正是你在做什麼 - 你爲從數據庫中獲得的每一行添加到$ parent - 所以也許你還想要「$ parent = array();」在foreach的開始,而不是之前 – Ochi

相關問題