根据用户输入从数据库中检索数据

时间:2012-07-05 05:29:50

标签: php ms-access

我是php的新手,我正在学习基础知识,我设计了一个具有动态下拉菜单的表单,其中的选项直接从我的Access数据库中填充。用户选择一个选项后,与该选项相关的信息将显示在操作页面中,但不能正常工作。我跑了几天我的代码,我似乎没有弄错。评论的代码似乎是我的问题来源。 这是代码

<html>
<head>
<title>Menu</title>
</head>
<body>
<?php
// This would be the value passed from the previous php page
$option =$_POST['myDropdown'];

// for testing purposes
print("$option");

// print image of the menu item or dish
print <<< HERE

<p>
<img src = "DishesPictures/Dish-$option.png" border="1" bordercolor="black"
       alt = "die: $option" />

</p>
HERE;

$conn = new COM("ADODB.Connection") or die("Cannot start ADO"); 


 $connString= "Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=e:\\ectserver\\naljalidi\\Database\\Menu.mdb";
    //creates the connection object and define the connection string

// for testing purposes
print("$connString");

$rs=$conn->Execute("SELECT ItemID,ItemDesc,Price FROM Menu WHERE ItemID=$option;");
//if (!$rs->EOF)
//{
  // $ItemID=$rs->Fields("ItemID");
  // $ItemDesc=$rs->Fields("ItemDesc");
  // print("$ItemID");
  // print("$ItemDesc");
//}


$rs->Close();


?>
</body>

</html>

我的数据库信息: 数据库名称:菜单 表:只有一个,名为Menu 字段:ItemID(PK,自动编号),ItemDesc(文本),价格(Currancy)

有任何帮助吗?谢谢

1 个答案:

答案 0 :(得分:1)

添加代码:

$conn->SetFetchMode(ADODB_FETCH_ASSOC);  
$rs=$conn->Execute("SELECT ItemID,ItemDesc,Price FROM Menu WHERE ItemID=$option;");
if (!$rs) {  
print $conn->ErrorMsg();  
 } else
{
 $ItemID=$rs->Fields['ItemID'];
 $ItemDesc=$rs->Fields['ItemDesc'];
 print("$ItemID");
 print("$ItemDesc");
}