내 웹 사이트의 친구 시스템을 구축하려고합니다. 를 사용하여단일 변수에서 여러 값을 얻는 방법?
INSERT INTO friendship
VALUES
(1, 2),
(1, 3),
(1, 5);
내가 (이 예에서는, ID 1) 사용자의 모두를 얻을 수 있어요 친구의 식별자 :
CREAT TABLE users (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL
) Engine=InnoDB;
CREATE TABLE friendship (
member1 INT UNSIGNED NOT NULL, -- user's ID
member2 INT UNSIGNED NOT NULL, -- friend's ID
FOREIGN KEY (member1) REFERENCES users (id),
FOREIGN KEY (member2) REFERENCES users (id),
UNIQE (member1, member2)
) Engine=InnoDB;
샘플 우정 데이터 : 테이블 구조는이 같은 것을 설정 다음 :
$query = mysql_query("SELECT * FROM friendship_table WHERE member1='1'");
while($row = mysql_fetch_assoc($query)) {
$memberid = $row['member2'];
}
내가 지금하고 싶은 것은 친구의 이름을 얻는 것입니다. 예제에서 memberid (테이블의 member2 열) 변수의 값은 2,3 및 5입니다. if/elseif 유형의 명령문을 사용하여 구성원 ID가 무엇인지보고 싶습니다. 종류의 같은 :
if($memberid == "2") {
echo "Bob is your friend";
} elseif($memberid == "3") {
echo "Joe is your friend";
} elseif($memberid == "3" && $memberid == "2") {
//This line is the problem, the variable has multiple values in it (2,3,5) so I think it doesn't understand that and just uses one value
echo "Bob and Joe are your friends!";
} else {
//...
}
그래서 문제는 그 변수에 할당이 개 특정 값을 가지고 있다면 검사 할 때, 그것의 모든 값을 확인하지 않는다는 것입니다. 모든 값 (2,3,5)을 검사하도록 어떻게 만들 수 있습니까?
분명히 PHP의 배열 함수를 사용하여 더 좋은 방법이 일을 할 수 do.You에 방법을 explaind 그냥 코드에 대해 확실하지 않다 넓은 사용 배열을 생각 PHP 코드에서 사용자 이름을 하드 코드합니다. 더 나은 SQL 쿼리로 해결하는 것이 가장 좋은 문제입니다. 그래서 그 부분도 보여주세요. – mario
@mario 내 검색어 : "SELECT * FROM friendship_table WHERE member1 = '1'" – randomphp
추가 정보를 추가하려면 질문을 업데이트하십시오. 일반적으로 댓글로 답장하기보다는 게시물을 업데이트하여 명확한 요청에 응답하십시오. 한 가지 질문은 의견을 읽지 않고 이해할 수 있어야합니다. 다른 말로하면, SO는 QA 및 사이트이고 포럼이 아니며 주석은 토론을 목적으로하지 않으며 적합하지도 않습니다. – outis