【发布时间】:2016-01-20 22:43:55
【问题描述】:
我正在为自己做一个小项目来制作我自己最喜欢的节目的剧集列表,并且我有加号和最小按钮(已观看的剧集)。但是,如果我单击一个按钮,则两个条目(来自数据库)都会加或减。这是我的代码:
<?php
include_once("config.php");
$query = $db->prepare("SELECT * FROM `shows`");
$query->execute();
$table = "";
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$name = $row['name'];
$eps = $row['eps'];
$status = $row['status'];
$seen = $row['seen'];
$id = $row['id'];
$plus = "plus";
$min = "min";
$table .= "
<tr>
<td>" . $id . "</td>
<td>" . $name . "</td>
<td>" . $eps. "</td>
<td>" . $status . "</td>
<td>" . $seen . "/" . $eps . "</td>
<td><input type='submit' name='plus' value='+'></td>
<td><input type='submit' name='min' value='-'></td>
</tr>
";
if (isset($_POST['plus'])) {
$seen++;
$fill = $db->prepare("UPDATE `shows` SET `seen` = '$seen' WHERE `id` = '$id'");
$fill->execute();
header("Refresh:0");
}
if (isset($_POST['min'])) {
$seen--;
$order66 = $db->prepare("UPDATE `shows` SET `seen` = '$seen' WHERE `id` = '$id'");
$order66->execute();
header("Refresh:0");
}
$alert = "";
if ($seen == $eps) {
$alert = "Move " . $name . " to completed?<br>
<input type='button' value='Yes'><input type='button' value='No'>";
}
}
?>
【问题讨论】:
-
你的逻辑在这里有缺陷,这是整个代码吗?
-
在 sql 中无法引用与特定行/记录关联的实际 ID -
$id中存储的值将是最后一行的值 - 单击时的按钮将因此使用错误的 ID 发布表单(假设有表单)。
标签: php html sql button attributes