2011-02-28 62 views
0

我從一個查詢中查詢數據庫「SELECT用戶名,姓名,surnaname從用戶」 其3行USERNAME,名稱,SURNAME每個有2個值 我需要在瀏覽器中打印名稱+ SURNAME + USERNAME。 代碼看起來是這樣PHP和Mysql獲取數據和打印

$users = mysql_query("SELECT username, name, surnaname FROM users"); 
$N=1; 
while($cell = mysql_fetch_array($users)) { 
    foreach ($cell as $key => $value) { 
    if ($key == "username") {  
    $array_of_usernames[n] = $value; 
    } elseif ($key == "name") { 
     $array_of_names[n] = $value; 
     } elseif ($key == "surname") { 
      $array_of_surnames[n] = $value; 
    $N++; 
    } 
}; 
for (N=1; N = count($array_of_usernames); N++) { 
echo "Username: ".$array_of_usernames[N]." Name: ".$array_of_names[n]." Surname: ".$array_of_surnames[n]; 
} 

問題是$ N增加每個循環且只有一個$鍵,然後從每個環路數據庫中提取$值(頭部和單元值)。 我認爲它可以修復,如果我創建3個計數器A,B,C爲每個陣列和增加每個如果匹配(剛剛計算,而我正在寫這個問題)...

但是有更有效的方法來做我所需要的,因爲這似乎很複雜,而不是普遍的。

我甚至開始這樣做的原因是$用戶不是我需要以某種方式獲取數組的數組,如果有任何方法可以讓我欣賞任何信息。

+0

您可以將值追加到一個數組,而不必跟蹤哪個指數/標中做'$陣列[使用] ='新值';'。 PHP將自動分配下一個可用的最高密鑰。 – 2011-02-28 16:11:32

回答

0

那麼,你並不需要所有這些代碼:

$result = mysql_query('SELECT username, name, surname FROM users'); 
while($user = mysql_fetch_array($result)) { 
    echo 'Username: ',$user['username'],' Name: ',$user['name'],' Surname: ',$user['surname']; 
} 
+0

猜猜我沒有睡得太久或缺乏充分的理解... 我需要先取用戶名,並以某種方式,我認爲它沒有得到逐行,而只是名稱blahhh我要再試一次,謝謝你的幫助 – MrVon66 2011-02-28 14:58:50

+0

你'歡迎,請點擊接受:) – soju 2011-02-28 15:54:42

0
 
$users = mysql_query("SELECT username, name, surnaname FROM users"); 

while($cell = mysql_fetch_assoc($users)) { 
    echo "Username: ".$cell["username"]." Name: ".$cell["name"]." Surname: ".$cell["surname"]; 
}