2017-05-29 6 views
1

特定のユーザーとまだ友だちではないユーザーをすべて表示するシステムを構築しようとしています。すでに友人ではない友人。特定のユーザーと友人ではないユーザーのデータベースの一覧を表示する方法

しかし、私の問題は、追加友人リストのユーザーの最初の友人だけを削除すると、すでに彼の友人であるadd friend_listに残りの友人が表示されることです。

if(isset($_SESSION['em'])){ 

    $eml = $_SESSION['em']; 
    $list = "select friend_id,user_id from friend"; 
    $friend = mysqli_query($conn,$list); 
    $rowf = mysqli_fetch_assoc($friend); 

    $idf = $rowf['friend_id']; 
    $id = $rowf['user_id']; 

    $query = ("select id,fst,las,uid,pass,email,sts,ocp from Users where email!='$eml' AND id!='$idf' AND id!='$id'"); 
    $res = mysqli_query($conn,$query); 

    if(mysqli_num_rows($res) > 0){ 

     while($row = mysqli_fetch_assoc($res)){ 
      $_SESSION['ids'] = $row['id']; 
?> 
<table id="list"> 
<tr> 
<td id="id" style=" "><a href=""><?php echo $_SESSION['ids'].'<br>';?></a></td> 
<td id="fst" style=""><a href="profile.php?uid=<?php echo $row['uid']; ?>"> 
<?php echo $row['fst'].'<br>'; ?> 
</a></td> 
<td id="las" style=""><?php echo $row['las'].'<br>';?></td> 
<td id="uid" style=" "><?php echo $row['uid'].'<br>';?> 
<form action="request.php" method="POST"> 
    <a href="request.php?id=<?php echo $_SESSION['ids']; ?>"><input id="request" type="text" value="ADD" readonly></a></form></td> 
<td id="email" style=" width:180px;height:40px;text-align:center;"><?php echo $row['email'].'<br>';?></td> 
<td id="sts" style=""><?php echo $row['sts'].'<br>';?></td> 
<td id="ocp" style=""><?php echo $row['ocp'].'<br>';?></td> 

</tr> 
</table> 
<?php 
}}} 
?> 
+0

Sql注入警告https://xkcd.com/327/ –

+1

dbスキーマ、サンプルデータ、および予想される出力を表示します。 \t [** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t [**スタート**] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)質問品質を改善し、より良い回答を得る方法を学ぶことができます。 –

答えて

0

コードの小さな変更は、以下を試してください。あなたが彼と友人ではないユーザーを取得したいと思うセッション変数emlを使用していると仮定しています。 user_id、friend_idを変更する必要があるかもしれませんが、どちらが友人として参照されているか分からない場合もあります。

if(isset($_SESSION['em'])){ 

$eml = $_SESSION['em']; 
//$list = "select friend_id,user_id from friend"; 
//$friend = mysqli_query($conn,$list); 
//$rowf = mysqli_fetch_assoc($friend); 

//$idf = $rowf['friend_id']; 
//$id = $rowf['user_id']; 

$query = ("select id,fst,las,uid,pass,email,sts,ocp from Users u where email='$eml' AND id not in (select friend_id from friend where user_id=u.id)"); 
$res = mysqli_query($conn,$query); 

if(mysqli_num_rows($res) > 0){ 

while($row = mysqli_fetch_assoc($res)){ 
$_SESSION['ids'] = $row['id']; 
?> 
<table id="list"> 
<tr> 
<td id="id" style=" "><a href=""><?php echo $_SESSION['ids'].'<br>';?></a></td> 
<td id="fst" style=""><a href="profile.php?uid=<?php echo $row['uid']; ?>"> 
<?php echo $row['fst'].'<br>'; ?> 
</a></td> 
<td id="las" style=""><?php echo $row['las'].'<br>';?></td> 
<td id="uid" style=" "><?php echo $row['uid'].'<br>';?> 
<form action="request.php" method="POST"> 
<a href="request.php?id=<?php echo $_SESSION['ids']; ?>"><input id="request" type="text" value="ADD" readonly></a></form></td> 
<td id="email" style=" width:180px;height:40px;text-align:center;"><?php echo $row['email'].'<br>';?></td> 
<td id="sts" style=""><?php echo $row['sts'].'<br>';?></td> 
<td id="ocp" style=""><?php echo $row['ocp'].'<br>';?></td> 

</tr> 
</table> 
<?php 
}}} 
?> 
関連する問題