0

プロフィールページを作成しようとしています。URLボックスからプロファイル名を取得し、このユーザーに関する情報を取得してテストしていましたが、データベース内のすべてのユーザーに関する情報を取得するだけです。たとえば、user1と入力すると、データベース内のすべてのユーザーのすべての情報が表示されます。このユーザー1と彼の情報のみを特に検索したい場合、これを行うにはどうすればよいですか?

<?php $fname=$_GET["fname"] ?>
<html>
<head>
<title> <? echo $fname ?> 
</title>
</head>
<body>
<BR><BR>
<h3>
<?php if (false === $registerOrLoginNeeded):?>
<? echo "User - ".$fname." <BR> ";
?>

<?php 
 mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error()); 
 mysql_select_db(DB_NAME) or die(mysql_error()); 
 $data = mysql_query("SELECT * FROM users") 
 or die(mysql_error()); 
 while($info = mysql_fetch_array( $data )) 
 {
 echo "Real Name - ".$info['name'] . " <BR>";
 echo "Email - ".$info['email'] . " <br> " ;
 echo "Location - ".$info['location'] . " <br> " ;
 echo "Gender - ".$info['gender'] . " <br> " ;

 } 
 ?>
 <? else: endif ?>
4

1 に答える 1

0

usernameユーザー名フィールドがクエリを次のように変更するだけであると仮定します。

$data = mysql_query("SELECT * FROM users WHERE `username` = '$fname' LIMIT 1"); 

正確にそのユーザーに対して1つのレコードのみが必要であることをデータベースに通知する必要があります。そのため、このWHERE句を追加します。そして、クエリはSELECT EVERYTHING FROM TABLE USERSになります。ここで、ユーザーのユーザー名は、URIから渡された変数と同じです。

ユーザーが見つかったかどうかを確認する方法

if(mysql_num_rows($data) > 0)
{
//DISPLAY USER INFO
}
else
{
//NO USER FOUND
}
于 2013-02-17T14:20:33.323 に答える