<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