0

私は Facebook のような投稿システムを持っています。私の問題は、画像が取得されているときに、すべての投稿にログインしている人と同じ写真があり、他の人の写真ではないことです。データベースでは別々に保存されていますが...

//Defining 
$face=$FbWall->Gravatar($uid);

FBウォール

public function Gravatar($uid) 
{
    $result = mysql_query("SELECT Photo FROM users ");
    $pic="";
    while($row = mysql_fetch_array($result))
    {
       $pic.= $row['Photo'] . ",";
    }
}

投稿を読み込む

<?php } ?>
<div class="stbody" id="stbody<?php echo $msg_id;?>">
  <div class="stimg">
    <img src="profile_img/<?php echo $face;?>" class='big_face' alt='<?php echo $username; ?>'/>
  </div> 
  <div class="sttext">
  <?php
  if($userid==$uid)
  { ?>
    <a class="stdelete" href="#" id="<?php echo $msg_id;?>" title='Delete Update'></a>
  <?php 
  } ?>

前もって感謝します ..

4

1 に答える 1

0

今、私はあなたが配置しているシステムに慣れていませんが、 $uid にはメッセージを投稿したユーザーのユーザー ID が含まれており、その隣にアバターを配置したいと考えています。

その場合、users テーブルからすべてのユーザーのファイル名を取得し、イメージ アドレスとして追加しようとしているカンマ区切りのリストを取得するのは奇妙です。

私の推測では、その SQL クエリに WHERE がありません。線に沿った何か:

"SELECT Photo FROM Users WHERE uid='".$uid."'"

その写真をメッセージに適用するだけではありません。また、$uid がたとえば URL 経由でユーザーから取得された場合、上記は悪い習慣と見なされます。

于 2013-09-15T18:48:51.803 に答える