0

ミニプロフィールを作成して、名前、会社での役職、電話番号、メールアドレス、略歴、プロフィール写真用のスロットを表示しようとしています。私の問題は、画像をアップロードしてトリミングする方法をすでに知っていることですが、プロファイルをアップロードして各ユーザーIDをリンクする方法を見つけるために、熱心に検索して無駄にしています。Facebookのプロフィール写真が自動的にユーザーIDにリンクする方法など、何か提案はありますか?そのためには、同じデータベース(Mysql)テーブルを使用する必要がありますか?または、特定のIDを呼び出すことはできますか?後で同じプロファイルの写真を変更したい場合、プロファイルを再作成する必要がありますか?または、各プロファイルにタグを付けて、クリックで各プロファイルにアクセスする方法はありますか?

<?php
error_reporting(0);
include('connect.php');

if(is_dir('hftpnyc/dir_thumbs') == false ){
mkdir('hftpnyc/dir_thumbs', 0744);} 

$dir_pos = mysql_real_escape_string($_POST['Dir_pos']);
$dir_name=mysql_real_escape_string($_POST['Dir_name']);
$occu=mysql_real_escape_string($_POST['Occu']);
$bio = mysql_real_escape_string($_POST['Bio']);
$pic = mysql_real_escape_string($_POST['dir_pic']);
$email = mysql_real_escape_string($_POST['email']);
$Numb = mysql_real_escape_string($_POST['num']);
$cr8 = isset($_POST['cr8']);
$errmsg = array();
$sql= mysql_query("SELECT * FROM `directors`");
$get = mysql_fetch_assoc($sql);

if($cr8){

if( $dir_pos && $dir_name && $occu){
    mysql_query("INSERT INTO `hftpnyc`.`directors` (`Positition`,`name`,`Email`,`Num`,`occupation`,`Bio`,`dir_pic`) VALUES     ('{$dir_pos}','{$dir_name}','{$email}','{$Numb}','{$occu}','{$bio}','{$encoded}')");

header('location:Directors.php');
}
}

?>

<form name="Director_create" method="post" id="form" actio="<?php echo $_SERVER['PHP_SELF']; ?>"/>
Director position: <br/> 
<input class="text_user"  id="nick" type="text" name="Dir_pos" MAXLENGTH="55"   />  

Director name:

<input  name="Dir_name" type="text" id="messagebox" />



Contact Number:
<p style="color:#F00; font-size:9px; margin-top:0px; margin-bottom:0px;">*optional*</p>

   <input  name="num" type="text" id="messagebox" />

Email Address:

<input  name="email" type="text" id="messagebox" />

Occupation:

<input  name="Occu" cols="20" class="text" id="messagebox" />


Biography:

<textarea ty  name="Bio" class="text" id="messagebox"  ></textarea>
<br/> 
<input id="send" name="cr8" type="submit" value="CREATE" /> 

</form>

以下の各プロファイルにエコーする必要があるものを表示するコードがあります。

<?php
$query=mysql_query("SELECT * FROM `directors` ORDER BY  `Director_id` DESC;") ;
while ($row=mysql_fetch_assoc($query))
{

$email1 = $row['Email'];
$enc = $row['dir_pic'];
$name= $row['name'];
$posit = $row['Positition'];
$num1 = $row['Num'];
$occupation = $row['occupation'];
$Biography = $row['Bio']; 

?>

<div id="direc" style="height:10px; width:100%;margin-bottom:8px;">

<h3 class="heading" style="margin:0px auto;color:#666; border-bottom: #A3308E solid 1px;font-family: Tahoma, Geneva, sans-serif; font-size:15px"> <?php echo $posit; ?>: <?php    echo $name; ?></h3> </div>

<div class="photocase" style="width:100px; height:100px; float:left;border-width: 1px;border:solid black 1px;margin: 5px; ">
<img src="<?php echo /*This is where i want each photo*/; ?>" width="100px" />
</div>
<div  style="width:360px;height:30px; display:block;float:left;margin-top:5px; line-height:3px;">

<p>OCCUPATION: <?php echo $occupation; ?></p>
</div>    

<div  style="width:360px;height:30px; display:block;float:left;margin-top:5px; line-height:3px;">

<p align="justify">Email: <?php echo $email1; ?></p>
</div>  

<div  style="width:360px;height:30px; display:block;float:left;margin-top:5px; line-height:3px;">

<p align="justify">Contact #: <?php echo $num1; ?></p>
</div>


<div style="float:left;display:block;width:98%;height:16px;margin-bottom:0px;margin-left:1.5%; ">
<p>Bio:<?php echo $Biography;?></p>
</div>
</div>
<?php


}

?>
4

1 に答える 1

0

ユーザーのすべての典型的な情報を持つユーザーテーブルのようなテーブルを作成します。同じテーブルには、画像名のみまたは画像への完全なパスを含むことができる profile_pic のような列があります。この場合、画像名だけを保存する場合は、すべての画像を特定のフォルダーにアップロードしてください。ここでの問題は、データベースにユーザーが追加されるにつれて、そのフォルダーが非常に大きくなることです。それを解決する 1 つの方法は、新しい月に新しいフォルダーを自動的に作成することです。後でプロファイルの画像にアクセスしたい場合、ユーザーの作成時刻のタイムスタンプからフォルダーを知ることができます。

プロファイルへのアクセス方法に関する 2 番目の質問は、非常に簡単です。すべてのテーブル作成の非常に基本的なことは、テーブルの主キーとなる id と呼ばれるキー/列を持つことです。もちろん、それはユニークです。したがって、各ユーザーは id と呼ばれるこのキーで参照されます。この列に自動インクリメント属性を設定できます。したがって、新しいユーザーを追加するたびに、その ID 番号が mysql によって自動的に作成されます。

ここで、ユーザーの ID が 43 であるとします。特定のプロファイルを表示するには、profile.php というページがあります。

リクエストが次のような場合

profile.phP?id=43  

次に、$_GET['id'] から、次のようにデータベースでクエリを実行できます

'select * from users where id = "'.$_GET['id'].'" ';
于 2012-04-09T13:14:58.800 に答える