我希望能够创建一个增加 upvotes 数量的按钮,并减少 downvotes的数量
$result = mysqli_query($con, "SELECT * FROM champion_counters_b WHERE champion_name='" . $search_result . "'");
echo "<table class='champion_counters' border='1'><tr><th>Champion Counter</th><th>Up Votes</th><th>Down Votes</th></tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['champion_counter'] . "</td>";
echo "<td>" . $row['upvotes'] . "</td>";
echo "<td>" . $row['downvotes'] . "</td>";
}
echo "</table>";
正如您所看到的,我正在回显一个表,直到没有输入的搜索结果。如您所见$row['upvotes'], $row['downvotes']
这些是我希望能够在每一行上生成按钮的内容。
"Upvote" => upvotes + 1 => 1, 2, 3, etc
"Downvote" => downvotes - 1 => -1, -2, -3, etc
tl; dr:希望能够为每一行生成按钮以增加upvotes的数量并减少downvotes的数量
答案 0 :(得分:1)
这可能不是你想要的,但据我所知,这将是我的解决方案:
您很可能在数据库中拥有某种主键。你实际上在执行“SELECT *”时得到它,例如检索所有列。
基于主键,您现在可以实现向下和向上注释功能。例如,您可以将以下内容插入到while循环中(让$ row ['key']作为主键):
echo "<td><a href='action.php?do=up&id=" . $row['key'] . "'>Upvote</a></td>";
echo "<td><a href='action.php?do=down&id=" . $row['key'] . "'>Downvote</a></td>";
使用这个,每个表行将有两个链接,将用户发送到action.php并将一些GET参数附加到URL。 GET参数是“do”,它将告诉你该做什么(向上或向下)和“id”,这是主键。
在action.php中,您可以读取这些GET参数并执行任何进一步的操作,例如更新数据库。你可以这样得到它们:
$action = $_GET['do'];
$id = $_GET['id'];
根据$ action,您现在可以更新downvotes或upvotes。您可以使用$ id识别要更新的项目。