PHP 생성 테이블에 표시된 사용자의 친구를 사귀려는 소셜 네트워킹 사이트를 만들고 있습니다. 미리보기 이미지를 클릭하면 해당 사용자의 프로필로 이동하도록 미리보기 이미지와 그 아래에 다른 정보를 표시하려고합니다.친구 정보 (친구) 정보를 검색하고 친구 정보에 대한 링크가 포함 된 섬네일 목록을 검색하는 PHP 쿼리
내 사용자 테이블에는 예 :
user_id, username, user_first_name, user_last_name...etc
는 나는 친구 테이블이 : (user1_id를, PK의 USER_ID의 FK 사용자 테이블에 user2_id 있습니다)
pal_id user1_id user2_id status timestamp
6 92 95 1 2011-02-02 21:44:58
7 98 97 0 2011-02-02 21:44:28
8 92 98 0 2011-02-02 21:44:28
사진 아바타가 표시 검색됩니다 테이블. 아바타 = '1'은, 그 사용자의 아바타 인 경우 : 상기로부터
picture_id picture_url picture_thumb_url user_id avatar timestamp
73 ../User_Images/66983.jpg ../User_Images/Thumbs/66983.jpg 92 1 2011-02-01 21:41:59
74 ../User_Images/56012.jpg ../User_Images/Thumbs/56012.jpg 94 0 2011-01-25 12:09:58
, 사용자 (92) ('1'= 상태로 도시)
user1_id 그들이 친구를 확인했기 때문에, 사용자 (95)와 친구 인 친구는 우정의 개시 자의 사용자 ID를 얻습니다. pal_id = 6 인 경우, 사용자 92는 우정을 요청했고, 95는이를 확인했습니다. 사용자 95가 우정을 요청했고 그것이 확인 되었다면 user2_id는 92를 읽었을 것입니다 ...
이제 어떻게하면 섬네일과 정보를 보여줄 PHP 쿼리를 표시 할 수 있습니까?
내 PHP 코드 : 사용자 95$query_pal_info = "SELECT users.user_id, user_first_name, user_last_name, username, picture_thumb_url, avatar FROM users LEFT JOIN picture ON
users.user_id = picture.user_id
AND picture.avatar=1 WHERE users.user_id = {$pal_no['user2_id']}";
내가 현재 가지고는, 그것은 사용자 (92)의 유일한 친구를 보여줍니다과 같습니다
<?php require_once('Connections/connections.php'); ?>
<?php
//query username
$user_id = $_SESSION['UserSession'];
$user_id = mysql_real_escape_string($user_id);
$query_user_info = "SELECT username FROM users WHERE user_id='$user_id'";
$user_info = mysql_query($query_user_info, $connections) or die(mysql_error());
$row_user_info = mysql_fetch_assoc($user_info);
//code for displaying all your pals
$query_pal_no = "SELECT * FROM pals WHERE (user1_id='$user_id' AND status='1') OR (user2_id='$user_id' AND status='1')";
$pal_no_result = mysql_query($query_pal_no, $connections) or die(mysql_error());
$row_pal_no = mysql_num_rows($pal_no_result);
while ($pal_no = mysql_fetch_assoc($pal_no_result))
{
//get pal info
$query_pal_info = "SELECT users.user_id, user_first_name, user_last_name, username, picture_thumb_url, avatar FROM users LEFT JOIN picture ON
users.user_id = picture.user_id
AND picture.avatar=1 WHERE users.user_id = {$pal_no['user2_id']}";
$pal_info = mysql_query($query_pal_info , $connections) or die(mysql_error());
$totalRows_pal_info = mysql_num_rows($pal_info);
//echo table with pal information
echo "\n<table>";
$j = 5;
while ($row_pal_info = mysql_fetch_assoc($pal_info))
{
if($j==5) echo "\n\t<tr>";
$thumbnail_user = $row_pal_info['picture_thumb_url'] != '' ? $row_pal_info['picture_thumb_url'] : '../Style/Images/default_avatar.png';
echo "<td width='100' height='100' align='center' valign='middle'><a href = 'user_view.php?user_id2={$row_pal_info['user_id']}'>
<img src='/NNL/User_Images/$thumbnail_user' border='0'/></a></td>\n";
$j--;
if($j==0) {
echo "\n\t</tr>\n\t<tr>";
$j = 5;
}
}
if($j!=5) echo "\n\t\t<td colspan=\"$j\"></td>\n\t</tr>";
echo "\n</table>";
}
?>
<table width="500" border="0">
<tr>
<td height="20"><div class="heading_text_18"><?php echo $row_user_info ['username']; ?>'s pals <?php echo $row_pal_no ?></div> </td>
</tr>
<tr>
<td class="interactionLinksDiv" align="right" style="border:none;"><a href="#" onclick="return false"
onmousedown="javascript: toggleInteractContainers('pal_requests');">Pal Requests</a></td>
</tr>
<tr>
<td height="5"></td>
</tr>
</table>
나는 문제가 쿼리의 WHERE 후 알고 이는 92가 시작 자이고 95가 수락 자이기 때문에 작동합니다. 쿼리가 사용자 92 (자신)을 자신의 친구로 반환하기 때문에 95가 개시자인 경우 쿼리가 작동하지 않습니다.
올바른 쿼리는 무엇입니까? 사전
에 대한 미리보기 이미지 당신은 당신이 소셜 네트워킹 사이트를 만들 계획 경우, MVC 프레임 워크를 사용할 수있는 모든 palsand를 제공해야합니다. 프로 시저 프로그래밍 + 소셜 네트워킹 사이트 = 재난. – xil3
머리 위로 xil3을 보내 주셔서 감사합니다. 불행히도, 나는 그것에 대해 알지 못하고 그것을 어떻게 사용하는지 모른다. 어쨌든, 그것에 대해 연구하겠습니다. u는 짧은 이점을 줄 수 있습니까, 1 또는 2 문장을주십시오 –