2013-03-17 2 views
0

내 홈페이지는 www.respectmyplanet.org이고 Codeigniter에 대해 쓰고 있습니다. 면책 조항 : 저는 금융 분석가이자 취미 애호가이며 정식 프로그래밍 교육이 없습니다. MySQL의 여러 테이블에서 선택하여 표시

내가 약 아래에 쓰고있어 무엇의 예를 보려면 :

: 내 홈페이지에서 내지도에있는 마커를 클릭하면, 당신은 내 지리 모델에서이 방법을 실행되는 AJAX 호출에서 정보창을 얻을
public function get_well_infowindow ($permit) { 
    $sql = sprintf("SELECT * FROM mi_oil_well_info WHERE Permit_No = '%s' LIMIT 1 ", 
    mysql_real_escape_string($permit)); 
    $query = $this->db->query($sql); 
    return $query->result(); 
} 

정보창을 보면 연산자에 대한 4 자리 숫자와 지질 형성을위한 4 자리 코드가 표시됩니다. 모든 데이터는 MDEQ에서 제공하는 미시간 주 데이터베이스에서 가져온 것입니다.

"큰 테이블"에서 "Encana Gas Company"대신 "Encana Gas Company"라고 말하면서 큰 테이블의 CLGD 대신 Collingwood 셰일 형성에 대해 "Collingwood"라고 말하고 싶습니다. . 미시간 주에서 코드와 모든 형식으로 코드별로 모든 회사를 나열한 두 개의 테이블을 추가했습니다. 그러나 여러 테이블에서 필요한 데이터를 가져와 내 정보를 사람이 읽을 수있는 정보로 사용하는 방법을 모르겠습니다.

다른 테이블

은 진짜 간단하다 : 나는, 현재, $marker_info[0]->OpNo하고 '큰 테이블'에 대한 하나의 호출에서 $marker_info[0]->ObjForm 밖으로 에코

column1 - OpNo  column2 - OpName 
6450    Encana Gas Company 

column1-ObjForm column2 - FormName 
CLGD    Collingwood Shale 

나는 $marker_info[0]->OpName$marker_info[0]->FormName을 에코 원하지만 그들이에서 온 그 다른 테이블과 나는 여러 테이블에서 검색을 수행하거나이 메시지를 다시 출력하는 방법을 알지 못합니다.

아무도 도와 줄 수 있습니까? 지금은 잘하고있는 것처럼 "큰 테이블"에서 모든 것을 선택할 수 있지만 회사 이름과 지질 형성 코드를 회사 코드와 바꿔 지질 형성에 대한 자세한 설명과 그것을 에코하는 방법 뒤로?

+0

, 당신은 시도 무엇을 작동하지 않는 것, 구체적인 기술적 인 질문을하시기 바랍니다. 여기서 과제를 게시하고 솔루션을 프로그래밍하도록 기대할 수는 없습니다. 주요 아이디어 : 귀하의 질문은 다른 사람들에게 잠재적 인 가치가 있어야합니다. –

답변

0

SQL의 테이블을 조인하여이를 수행하십시오. 귀하의 질문에 다른 두 테이블의 이름이 표시되지 않았으므로 첫 번째 테이블을 other_table_1로 참조합니다.

SELECT mi_oil_well_info.*, other_table_1.OpName 
FROM mi_oil_well_info 
LEFT JOIN other_table_1 ON mi_oil_well_info.OpNo=other_table_1.OpNo 
WHERE Permit_No = '%s' LIMIT 1 

당신은 또한 Permit_No 주어진 이름을 조회하는 또 다른 SELECT 문을 실행하여이 작업을 수행 할 수 있지만 그렇게하지 않는이와

SELECT * FROM mi_oil_well_info WHERE Permit_No = '%s' LIMIT 1 

을 :

이를 교체합니다. 테이블을 조인하고 데이터베이스가 다른 필드를 검색하게하면 훨씬 빠르고 효율적으로 실행됩니다. MySQL은 SELECT 문에

상세 정보 : http://dev.mysql.com/doc/refman/5.0/en/select.html

관련 문제