2012-07-07 2 views
0

PHP가 새로워졌습니다! 카테고리 이름에서 여러 제품을 선택하고 싶지만 결과가 없습니다. 어떤 제안? PHP 가입 테이블에서 선택

나는 MS 액세스에서 만든 제품 테이블과 범주 테이블이 :

        Category 필드 CategoryID, ProductID 및 헤드, 조각과 Category, 그리고 꽃병 기록이다.
        Products 필드 ProductID, ProductName, PriceDetails 있습니다. 이 두 테이블에서 데이터를 가져옵니다 있도록

$conn = new COM("ADODB.Connection") or die("Cannot start ADO"); 
$connString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\\ectserver\\AHARDEN2\\Database\\products.mdb"; 
//creates the connection object and define the connection string 

$conn->Open($connString); 

$selectCommand="SELECT ProductName, Price, Details FROM Products WHERE ProductID = Head"; 

$rs = $conn->Execute($selectCommand); 
//opens a recordset from the connection object 

if (!$rs->EOF){ 

    $ProductName = $rs->Fields("ProductName"); 
    $Price = $rs->Fields("Price"); 
    $Details = $rs->Fields("Details"); 

} 

print "You selected the following product last time:<p>"; 
print "<div id=\"category\"> "; 
print "Product Name: $ProductName<br>"; 
print "Price: $Price<br>"; 
print "Details: $Details<br>"; 
print "</div>"; 


$rs->Close; 
+0

SQL JOIN을 사용해야합니다. 더 많은 SQL과 PHP 문제가 더 적습니다. –

+0

나는 당신을 팔로우하지 않습니다. 더 자세히 설명해 주시겠습니까? 내가 가지고있는 책은 내가 이것을 위해 필요하다는 것을 보여주지는 못하지만 나는 전문가가 아니므로 본보기를 얻을 수있다. – Nerdysyntax

답변

1

귀하의 SQL 명령

$selectCommand="SELECT ProductName, Price, Details FROM Products WHERE ProductID = Head"; 

변경해야합니다. 이 목적으로 SQL JOIN을 사용합니다. 공통 ID를 기반으로 두 개의 테이블을 조인합니다. 예는 다음과 같습니다.

$selectCommand="SELECT ProductName, Price, Details FROM Products JOIN Category on Products.ProductID = Category.ProductID"; 

위 쿼리는 ProductID 필드를 기반으로 두 테이블을 결합합니다. 물론 SQL 쿼리와 마찬가지로 where 절을 쿼리 끝에 적용 할 수 있습니다.

그래도 문제가 해결되지 않으면 알려 주시기 바랍니다.

+0

아마도 스크립트를 삽입 한 후에도 테이블이 여전히 공백이기 때문에 테이블을 잘못 설명했을 수도 있습니다. 너무 혼란스러워 보이는 책과는 조금 다릅니다. – Nerdysyntax

+0

먼저 phpmyadmin에서 쿼리를 실행 한 다음 코드에 입력하십시오. 처음으로 쿼리가 올바로 작동한다고 가정 할 수 없습니다. –

+0

2010 년 접속 예정입니다. 거기서 시도해 보겠습니다. – Nerdysyntax