SQL 테이블 subscriptions
에서 레코드를 가져 오기 위해 php 함수를 생성했습니다. mysql_query에 조건을 추가하여 테이블에있는 테이블 subscriptions
의 레코드를 무시하고 싶습니다. removed_items
, 여기 내 코드가 있습니다;MYSQL 테이블 2에 존재하지 않는 테이블 1의 레코드를 가져옵니다.
function subscriptions_func($user_id, $limit){
$subs = array();
$sub_query = mysql_query("
SELECT `subscriptions`.`fo_id`, `subscriptions`.`for_id`, `picture`.`since`, `picture`.`user_id`, `picture`.`pic_id`
FROM `subscriptions`
LEFT JOIN `picture`
ON `subscriptions`.`fo_id` = `picture`.`user_id`
WHERE `subscriptions`.`for_id` = $user_id
AND `picture`.`since` > `subscriptions`.`timmp`
GROUP BY `subscriptions`.`fo_id`
ORDER BY MAX(`picture`.`since_id`) DESC
$limit
");
while ($sub_row = mysql_fetch_assoc($sub_query)) {
$subs [] = array(
'fo_id' => $sub_row['fo_id'],
'for_id' => $sub_row['for_id'],
'user_id' => $sub_row['user_id'],
'pic_id' => $sub_row['pic_id'],
'since' => $sub_row['since']
);
}
return $subs ;
}
내 솔루션은 다음과 같은 테이블 removed_items
에서 레코드를 가져오고 내가 subscriptions_func (의 레코드를 닮은/해제 기록) subscriptions_func() 건너 뛸를 호출하는 PHP 조건을 설정하는 다른 함수를 만드는 것입니다
$sub = subscriptions_func($user_id);
foreach($sub as $sub){
$rmv_sub = rmv_items_func($sub[‘pic_id’]);
If($rmv_sub[‘pic_id’] != $sub[‘pic_id’]){
echo $sub[‘pic_id’];
}
}
이 용액
그러나이 해결책은 에코 상품 판자 스폿하게 변수 $ 부에 기억 된 어레이 간격을 만드는removed_items
테이블의 항목을 건너 성공했다.
모든 추가 조건과 검사를 줄이기 위해 subscriptions_func() 함수에 추가 할 수있는 조건이 있습니까? id
가정
이것은 매력처럼 작동합니다. 고맙습니다. 추가 권장 사항을 고려해 보겠습니다. – benjamin
여러분을 환영합니다! – ForguesR