2012-07-07 59 views
0

PHP还是新的!我想从类别名称中选择多个产品,但我没有收到任何结果。有什么建议么?php从连接表中选择

我在MS Access中创建一个产品表和类别表:

        Category字段CategoryIDProductIDCategory用头,雕塑和花瓶记录。
        Products字段ProductIDProductNamePrice,并Details

$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问题 – 2012-07-07 13:59:50

+0

我没有关注你。你能解释一下吗?我的书没有表明我需要这样做,但我不是专家,所以我可以举个例子。 – Nerdysyntax 2012-07-07 14:06:41

回答

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 2012-07-07 14:35:23

+0

首先在phpmyadmin中运行查询,然后将其放入代码中。您不能假设您的查询将在第一次正确工作。 – 2012-07-07 15:20:16

+0

这是在2010年访问。我会在那里尝试。 – Nerdysyntax 2012-07-07 17:07:11