2014-10-29 3 views
1

나는 mysql에 익숙하지 않다 ... 나는 다른 누군가의 프로그램에서 일하고있다. 나는 2 테이블 제품과 판매자 있습니다. 이 테이블은 연결되어 있으며 판매자 테이블에 연결됩니다. 제품 테이블에서 제품 이름을 표시하고 제품 항목을 작성한 판매자를 표시하려고합니다.MySql 테이블 쿼리하기

public function getProductName($product_id,$language_id) { 
$query = $this->db->query("SELECT name FROM " . DB_PREFIX . "product_description WHERE 
          product_id = '".(int)$product_id."' 
          AND language_id = '".(int)$language_id."'"); 
    if($query->row AND $query->row['name'] != '') { 
    return $query->row['name']; 
    } else { 
     return '-'; 
    } 
} 

판매자 테이블 필드 seller_name, seller_id, sproduct_id 있습니다

이 나는 ​​제품 테이블을 표시하는 방법입니다. 각 제품에 대해 연결된 판매자 이름을 가져올 수 있습니까?

도움을 주시면 감사하겠습니다.

덕분에, 톰

+0

모든 product_names를 원하거나 해당 product_id를 원합니까? – Mihai

+0

답장을 보내 주셔서 감사합니다. 데이터베이스의 모든 제품 이름과 그 항목을 만든 판매자를 표시합니다. 'sproduct_id'는 판매자가 입력 한 제품을 연결합니다. – user2171400

답변

0

당신은 일반적인 product_id 키에 함께 두 개의 테이블을 조인 할 수 있습니다. 결과 SQL은 당신이 원할 것입니다. 또한, PRODUCT_ID 및 LANGUAGE_ID 정수는 당신이 ''드롭 할 수 있습니다 (그들은 PHP에있을 것 같은) 데이터베이스에있는 경우 : PRODUCT_ID 및 LANGUAGE_ID 경우

public function getProductName($product_id, $language_id) 
{ 

    $strSQL = "SELECT p.name, s.seller_name FROM " . DB_PREFIX . 
       "product_description p INNER JOIN " . DB_PREFIX . 
       "Seller s ON p.product_id = s.sproduct_id WHERE product_id = '" . 
       intval($product_id) . "' AND language_id = '" . 
       intval($language_id) . "'"; 

    $query = $this->db->query($strSQL); 
    if($query->row AND $query->row['name'] != '') { 
     return $query->row['name']; 
    } else { 
     return '-'; 
    } 
} 

: 코드를 사용

"SELECT pd.name, s.seller_name 
FROM " . DB_PREFIX . ".product_description pd 
    INNER JOIN " . DB_PREFIX . ".Seller s on pd.product_id = s.sproduct_id 
WHERE 
    product_id = ".(int)$product_id." 
    AND language_id = ".(int)$language_id.";"; 
+0

안녕하세요. 답장을 보내 주시면 감사하겠습니다. 답변 드리겠습니다. 고맙습니다. – user2171400

+0

예 - 우리는'product_description.product_id'를'Seller.s.sproduct_id'에 합치고 있습니다 - 저는 두 테이블에 앨리어싱을했습니다. – StuartLC

+0

예, 두 번째 읽기에서 깨달았습니다 ... 지금 다시 시도 할 것입니다 ... 다시 한 번 감사드립니다! – user2171400

0

을 ''로 묶을 필요가없는 정수 값입니다. 또한 $ product_id 및 $ language_id에 쿼리에 유효한 값이 있는지 확인하기 위해 오류 검사를 추가해야합니다. SQL joins에 대한 자세한 정보. 행복한 코딩.

관련 문제