我有一个由mysql数据库填充的下拉菜单。我需要选择一个并让它在点击提交后发送信息以供下一页使用。它确实填充了下拉菜单,就像它应该只是似乎没有捕获下一页上的数据。这就是我所拥有的:
removeMain.php
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<form action="remove.php" method="post">
<?php
$link = mysql_connect('********', '********', '*********');
if (!$link){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("********", $link);
$res = mysql_query("SELECT * FROM cardLists order by cardID") or die(mysql_error());
echo "<select name = CardID>";
while($row=mysql_fetch_assoc($res)) {
echo "<option value=$row[ID]>$row[cardID]</a></option>";
}
echo "</select>";
?>
Amount to Remove: <input type="text" name="Remove" />
<input type="submit" />
</form>
<body>
</body>
</html>
remove.php
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<?php
$link = mysql_connect('*********', '*********', '*********');
if (!$link){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("***********y", $link);
$query = sprintf("UPDATE cardLists SET AmountLeft = AmountLeft - %s WHERE cardID = '%s'", mysql_real_escape_string($_POST["Remove"]), mysql_real_escape_string($_POST["CardID"]));
mysql_query($query);
mysql_close($link);
?>
<br />
<a href="removeMain.php"> <input type="submit" name="return" id="return" value="Update More" /></a>
<a href="index.php"> <input type="submit" name="main" id="main" value="Return To Main" /></a>
</body>
</html>
答案 0 :(得分:1)
while($row=mysql_fetch_assoc($res)) {
echo "<option value=$row[ID]>$row[cardID]</a></option>";
}
echo "<option value=$row[ID]>$row[cardID]</a></option>"; should be
echo "<option value=$row[ID]>$row[cardID]</option>";
不知道这是否能解决你的问题,但这是我注意到的第一件事
答案 1 :(得分:1)
echo "<select name = CardID>";
应该是:
echo "<select name = \"CardID\">";