2011-12-23 23 views
1

あなたのおかげで皆に感謝します。mysql_fetch_arrayの結果を多次元配列にダンプします

プロファイルページで前後のボタンを作成しようとしています。 Arnsdorfのプロフィールを見ているなら、前のボタンをAntonioにリンクし、次のボタンをBaldevisoにリンクさせたい。あなたはLNAMEによって注文された出力から見ることができるよう

IDが連続していないされています。ここでは

ID: 22 Name: Airaghi 
ID: 36 Name: Antonio 
ID: 27 Name: Arnsdorf 
ID: 13 Name: Baldeviso 
ID: 46 Name: Barnes 


は私のコードです:

$sql = "SELECT id,lname FROM profiles ORDER BY lname"; 

    $query = mysql_query($sql); 
     if (!$query) { 
      die('Invalid query: ' . mysql_error()); 
     } 

    while ($row = mysql_fetch_array($query, MYSQL_BOTH)) { 

     printf ("ID: %s Name: %s", $row[0], $row["lname"]); 
      echo "<br>"; 
    } 

mysql_free_result($query); 

しかし、私はにそれを得ることができませんそれをソートするためにarray

私はおおよそ次のようになり、データセットと3列multi-dimensional array作成するために期待していた:私は、言うArnsdorfの行数を取得する方法を見つけ出すことができ

row,id,lname 
1,22,Airaghi 
2,36,Antonio 
3,27,Arnsdorf 
4,13,Baldeviso 
5,46,Barnes 

を。 +1と-1の行番号を取得して、それぞれのIDをハイパーリンクで使用できるようにします。

私は何時間も探しましたが、mysqlデータをこのソートを行うのに十分な永続的な多次元配列にダンプするコード例は見つかりません。ご協力いただきありがとうございます。

答えて

3

各行を配列にして、その配列からデータをエコーすることができます。次に例を示します。

$persons = array(); 
while($row = mysql_fetch_assoc($query)) { 
    $persons[] = $row; 
} 

// To access ID of user in third row 
echo $persons[2]['id']; 
// Name of that person 
echo $persons[2]['lname']; 
+0

すばやく返信いただきありがとうございます。 – drittenbach

0

それは実際にはかなり簡単です:

while($row = mysql_fetch_array($query)){ 
    $profiles[] = $row; 
} 

今、あなたはこのような配列を持っています:

array(
    0 => array('id' => 22, 'lname' => 'Airaghi'), 
    1 => array('id' => 36, 'lname' => 'Antonio'), 
    etc... 
) 

次に、あなただけの$profiles[$index]['id']または$profiles[$index]['lname']

からアクセスすることができます
+0

この説明で私に戻ってくれてありがとう。 – drittenbach

関連する問題