array_multisortで同じエリア・年齢のuserを、上に表示されやすくする

1.新しく登録されたユーザー順に抽出(mysqlのidをorder by id desc)
2.ログイン中のユーザーと同じ登録エリアかつ年齢が同じなら、id x 1.3 のスコア
3.ログイン中のユーザーと同じ登録エリアなら、 id x 1.2 のスコア
4.ログイン中のユーザーと同じ年齢なら id x 1.1 のスコア
5.array_multisortでスコア順にソート
6.ログイン中のユーザーと異なる異性をスコア順に表示
※新しく登録された同じエリア・年齢のユーザーが上に表示されやすくなる

<style>
#fs-s{
	font-size:small;
	color:gray;
}
#icon{
	vertical-align:top;
	float:left;
}
#profile{
	display: inline;
}
</style>
<?php
session_start();
$username = $_SESSION&#91;"username"&#93;;

$dsn = "mysql:dbname=mail;host=localhost";
$user = "hoge";
$password = "hogehoge";
 
try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e){
    print('connection failed:'.$e->getMessage());
} 

$sql = "select * from users order by id desc";
$stmt = $dbh->query($sql);

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// var_dump($result);

$sql2 = "select * from users where username = '".$username."'";
$stmt2 = $dbh->query($sql2);

$result2 = $stmt2->fetch(PDO::FETCH_ASSOC);
$gender = $result2["gender"];
$area = $result2["area"];
$age = $result2["age"];

$i = 0;
foreach($result as $value){
	if($value["area"] == $area){
		if($value["age"] == $age){
			$result[$i]["score"] = (int)$value["id"] * 1.3;
			$score[$i] = $result[$i]["score"];
		} else{
			$result[$i]["score"] = (int)$value["id"] * 1.2;
			$score[$i] = $result[$i]["score"];
		}	
	} else {
		if($value["age"] == $age){
			$result[$i]["score"] = (int)$value["id"]  * 1.1;
			$score[$i] = $result[$i]["score"];
		} else{
			$result[$i]["score"] = (int)$value["id"];
			$score[$i] = $result[$i]["score"];
		}
	}
	$i++;
}
array_multisort($score, SORT_DESC, $result);

switch($gender){
	case '男性':
		$img = "asset/img/female.png";
		break;
	case '女性':
		$img = "asset/img/male.png";
}

$i = 0;
foreach($result as $value){
	if($gender != $value['gender']){
		echo "<img src=\"".$img."\" id=\"icon\">";
		echo "<div id=\"profile\"><a href=\"\">".$value['username'] ."</a>:".$value['age']." <span id=\"fs-s\">".$value['gender'] ."</span><br>";
		echo $value['job']."(".$value['area'].")</div><br><br>";
	}
	$i++;
}
?>

神奈川県 男性 25-29歳がログインしていた場合

つなげると、

名前をクリックすると、相手にメールを送れるようにする。

foreach($result as $value){
				if($gender != $value['gender'] and $i < 10){
					echo "<img src=\"".$icon."\" id=\"icon\">";
					echo "<div id=\"profile\"><a href=\"?compose=new&to=".$value&#91;'username'&#93;."\">".$value['username'] ."</a>:".$value['age']." <span id=\"fs-s\">".$value['gender'] ."</span><br>";
					echo $value['job']."(".$value['area'].")</div><br><br>";
					$i++;
				}
			}

女性で登録してログインした場合

送信後

あれあれあれ?もしかして、結構できてきた!???
プロフィール編集画面をつくって、「プロフィール写真」と「一言メッセージ」を加えて、法律とセキュリティを見直したら、基本的なところはほぼ完成か?