[英]Accessing database and display registered users through PHP
我有一个 members.php 页面/文件,我希望登录用户可以在其中查看数据库中注册的其他用户。 我不太确定如何做到这一点,我现在为此苦苦挣扎了一段时间,因此非常感谢您的帮助。
我将包括 connect.php、members.php 和我的 database.sql
这是我的 connect.php 文件
<?php
session_start();
//connect.php
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'mydatabase';
if(!mysql_connect('localhost', 'root', ''))
{
exit('Error: could not establish database connection');
}
if(!mysql_select_db($database))
{
exit('Error: could not select the database');
}
?>
这是我的 members.php 文件
<!DOCTYPE HTML>
<head>
<title> ShareLink </title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<div id="wrapper">
<?php
//create_cat.php
include 'connect.php';
include 'header.php';
if(isset($_SESSION['signed_in']) == FALSE || isset($_SESSION['user_level']) != 1 )
{
//the user IS NOT an admin
echo '<br/>';
echo 'Sorry! You have to be <a href="/signin.php"><b>logged in</b></a> to view all the <a href="signup.php" title="Become a registered user!"><b>registered</b></a> members.';
echo '<br/><br/>';
}
ELSE
{
echo '<h2>Registered users:</h2>';
$sql = "SELECT user_name FROM users";
//NOW I WANT TO DISPLAY ALL THE REGISTERED USERS
//MUST I ECHO SOMETHING HERE?
/////////////////////////////////////////////////////////
/////////////// WHAT CODE MUST COME HERE? //////////////
/////////////// AND IS IT SQL OR PHP CODE? //////////////
/////////////////////////////////////////////////////////
}
include 'footer.php';
?>
</div>
这是我的 database.sql 文件
CREATE TABLE users (
user_id INT(8) NOT NULL AUTO_INCREMENT,
user_name VARCHAR(30) NOT NULL,
user_pass VARCHAR(255) NOT NULL,
user_email VARCHAR(255) NOT NULL,
user_date DATETIME NOT NULL,
user_level INT(8) NOT NULL,
UNIQUE INDEX user_name_unique (user_name),
PRIMARY KEY (user_id)
);
CREATE TABLE categories (
cat_id INT(8) NOT NULL AUTO_INCREMENT,
cat_name VARCHAR(255) NOT NULL,
cat_description VARCHAR(255) NOT NULL,
UNIQUE INDEX cat_name_unique (cat_name),
PRIMARY KEY (cat_id)
);
CREATE TABLE topics (
topic_id INT(8) NOT NULL AUTO_INCREMENT,
topic_subject VARCHAR(255) NOT NULL,
topic_date DATETIME NOT NULL,
topic_cat INT(8) NOT NULL,
topic_by INT(8) NOT NULL,
PRIMARY KEY (topic_id)
);
CREATE TABLE posts (
post_id INT(8) NOT NULL AUTO_INCREMENT,
post_content TEXT NOT NULL,
post_date DATETIME NOT NULL,
post_topic INT(8) NOT NULL,
post_by INT(8) NOT NULL,
PRIMARY KEY (post_id)
);
echo '<h2>Registered users:</h2>';
$sql = "SELECT `user_name`
FROM `users`
ORDER BY `user_name` ASC";
$result = mysql_query($sql);
while($user = mysql_fetch_array($result))
echo $user['user_name'].'<br/>';
首先,您需要执行查询 ( mysql_query
) 并将其存储在结果中。 然后,您必须在 while 循环中使用mysql_fetch_array
将结果作为数组获取,并回显每个用户的user_name
。
编辑:正如 Damien Pirsy 在他的评论中指出的那样,似乎user_level
需要等于1
才能将用户视为已注册。 如果是这种情况,请将$sql
更改$sql
:
$sql = "SELECT `user_name`
FROM `users`
WHERE `user_level` = 1
ORDER BY `user_name` ASC";
对于您添加到朋友的问题,您可以执行以下操作:
while($user = mysql_fetch_array($result))
echo $user['user_name'].'
<a href="addfriend.php?user='.$user['id'].'">ADD TO FRIENDS</a><br/>';
然后在addfriend.php
您将有一些代码使用$_GET['id']
将此人添加到朋友。
最基本的:
<?php
echo '<h2>Registered users:</h2>';
$sql = "SELECT user_name FROM users";
// run the query. Will return a resource or false
$result = mysql_query($sql);
// if it ran OK
if ($result) {
// while I have more results, loop through them
// returning each result as an array
while ($user = mysql_fetch_array($result)) {
// use the array keys (column names) to output the data
echo $user['user_name'], '<br />';
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.