<form>
<input type="radio" name="grade" value=95 /> A<br />
<input type="radio" name="grade" value=85 /> B<br />
<input type="radio" name="grade" value=75 /> C<br />
<input type="radio" name="grade" value=65 /> D<br />
<input type="radio" name="grade" value=50 /> F
</form>
PHP:
if (isset($_POST['grade'])) {
$name = $_POST['name'];
$grade = $_POST['grade'];
$sql = "UPDATE grade SET
total=total+'$grade',
numvotes=numvotes+1 WHERE
name='$name'";
大家好......我工作的一个项目,在菜单上添加与名称关联的等级。我的等级径向菜单的HTML代码位于上方,我的相关SQL也会显示出来。我想从等级中添加一个NUMBER VALUE到我的SQL数据库中的“total”,并将投票数增加1.我不确定我的语法是否正确,因为数据库没有得到其投票或成绩的增加总。 谢谢!
编辑:为什么我感到困惑,这不起作用的部分原因是b/c当我进入mySQL控制台时,我可以做一个几乎相同的命令(其中'$ grade'是一个数字),它的工作原理。至少我应该得到一个错误,或者numvotes应该增加,但没有。
编辑2:信贷给拉杜捕捉此。我的名字菜单无法正常工作。在我的SQL语句后使用$ die之后,我发现从下拉菜单中选择的名称被解释为整数,而不是名称。它将由数据库中的SQL名称填充。这是我的代码。
<?php
$query = mysql_query("SELECT name, id FROM grade");
echo "<select name='name'>";
while ($temp = mysql_fetch_assoc($query)) {
echo "<option value='".$temp['name']."'>".$temp['name']." </option>";
}
echo "</select>";
?>
EDIT3:改变$temp['id']
到$temp['name']
后,我发现我现在die($sql)
读取:
UPDATE grade SET total=total+'95', numvotes=numvotes+1 WHERE name='charlie'
所以名字进去,但它仍然不会得到更新。想法?
你的类将有直接与该代码的A。 – 2011-06-07 19:37:29
为什么不保存每个提交的名称和分数,然后您可以计算按名称提交的分数以及用一个简单的查询计算总分数。 – NightHawk 2011-06-07 19:41:41
小调 - 应该引用''标记中的值属性。实际上,所有的HTML属性都会得到引号。 – 2011-06-07 19:42:46