我有一个需要发送信息的PHP表格下拉菜单

时间:2010-03-23 19:49:52

标签: php mysql drop-down-menu

我有一个由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>

2 个答案:

答案 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\">";