我是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)
有任何帮助吗?谢谢
答案 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");
}