2013-10-07 30 views
0

所以我不是最好的PHP,但每个人都必须从某个地方开始。成员数据库 - 全部显示?

我想知道如何从数据库中取出所有行,从某个列中取出数据并以某种方式输出。

我这样做的原因是为了让它显示在一个页面上注册的所有用户,有点像任何论坛会员的页面。

我正想着以某种方式获取行,而不是将数据放入数组中,而不是使用foreach语句将其作为每个变量打印出来。

我不是最好的逻辑思考者,但我会给一点的数据库信息如下:)

这是数据库的结构的图像。

enter image description here

向您展示的家伙,我居然把一个精力投入到这一点,这是我走到这一步,我可怕的PHP技能;)

$result = mysql_query("SELECT * FROM users"); 
while($row = mysql_fetch_array($result)) { 
    $username=array($row['username']); 
    $email=array($row['email']); 
    $firstname=array($row['firstname']); 
    $lastname=array($row['lastname']); 
    $motto=array($row['motto']); 
    $bio=array($row['bio']); 
} 
foreach ($username as &$item) { 
    print $item; 
} 

的一个原因,这个代码止跌没有工作是因为它只是选择了一个id等于$ userid的人。这意味着它将获取行信息,而不是列信息。

不知道怎样用这样做,因为我只在我的PHP冒险做的东西跟行,到目前为止,没有那么多的列:(

+0

为什么不只是'SELECT * FROM users'呢? – AlexP

+0

但是,如何将所有用户的数据放入$ username中,然后能够将其回显到列出每个用户的页面上。只是一个foreach语句,但我怎么样,例如它会显示图片,用户名,而不是像这样的用户名旁边的座右铭?这将是非常困难的。 –

+0

@KevinHarrison你应该阅读一个PHP/MySQL/HTML教程。这个网站是针对特定问题的。 –

回答

1

它的工作原理是这样的,每次循环“虽然“,你有一组新的信息,只是在那里显示你的东西,它比你想象的要容易,这就是为什么你有评论者抱怨。 PDO,我知道有很多使用mysql_ *的例子,但是这是因为它们要么是旧的例子,要么是坏的例子,不要使用它,我已经采取了一个example from the PHP manual并且为你调整了它

$link = mysqli_connect("localhost", "my_user", "my_password", "world"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$result = mysqli_query($link, "SELECT * FROM users ORDER BY username"); 
if($result) { 
    while($row = mysqli_fetch_assoc($result)) { 
     $username=$row['username']; 
     $email=$row['email']; 
     $firstname=$row['firstname']; 
     $lastname=$row['lastname']; 
     $motto=$row['motto']; 
     $bio=$row['bio']; 

     //display your row of user information here 
     echo "<div>"; 
     echo $username; //etc. 

     echo "</div>"; 
    } 

    mysqli_free_result($result); 
} 
mysqli_close($link); 
+0

谢谢这么多!它实际上工作!是的,我听到很多人说使用Mysqli,所以现在我还是一个初学者,我应该跳上这个,所以我不会走错路:) Thankyou! –

+0

我刚刚得到了一个更快的问题,这是其中的一部分。如果我还想显示$ email,是否需要将它从ORDER BY用户名的位置更改?因为如果我现在尝试回显用户名以外的任何内容,它会随机出现,甚至不会显示用户名。 –

+0

不,你应该能够回显任何列。 “ORDER BY username”只是按用户名按字母顺序给你列表。不知道什么可能给你随机字符 - 等等,检查你的文本编码。它是在一些奇怪的其他语言,还是它说UTF-8或unicode或类似的东西? – miyasudokoro