2011-02-28 34 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"]; 
}