2011-02-12 6 views
0

여러 가져 오기를 호출하지 않고 정보를 검색하는 방법은 무엇입니까?MySQL 다중 검색

for ($course_period=1; $course_period<=4; $course_period++) { 
    $result = mysql_query("SELECT * FROM courses WHERE id=".$course[$course_period]["id"]); 
    while ($row = mysql_fetch_array($result)) { 
     $course[$course_period]["name"] = $row["course_name"]; 
    } 
} 

나는 이것이 역겹지 않게 비효율적이며 그것을 수정하는 데 도움이되고 싶습니다. 나는 다른 테이블에서 이름을 빼고 싶다. ID = ?? (EX 1, 2, 6 및 320).

유일한 방법입니까?

+0

은'절 식 아니라 단일 열 = 값 쌍이다 WHERE'. 'WHERE id = 1 OR id = 2 OR id = 6 OR id = 320'. 이것을 쓰는 방법은 많이 있습니다. –

답변

1

이것을 시도 :

$ids = array(1,2,3,4,5); 

$query = "SELECT * FROM table WHERE id IN (" . implode(",", $ids) . ")"; 

//Process as usual... 
+0

중복을 허용하지 않기 때문에 항상 IN에 문제가 있었습니까? 이것에 대한 귀하의 제안은 무엇입니까? – blanknamefornow

+0

중복을 허용하고 하나의 함수 호출로 배열에서 복제본을 제거 할 수 있습니다. [array_unique] (http://php.net/manual/en/function.array-unique.php) –

+0

중복 된 내용 처리 배열에 쿼리를 전달하기 전에? – diagonalbatman