【发布时间】:2017-12-20 00:47:36
【问题描述】:
感谢所有回复的人。我得到了它的更新,并结合了你的想法。我已经修改了代码以显示有效的方法。
通过将LIKE按钮值传递给php来实现LIKE功能,从而更新数据库。
这会显示表格,每行都有一个 LIKE 按钮:
echo '<table>
<tr>
<th>Word ID</th>
<th>User ID</th>
<th>User Name</th>
<th>Word</th>
<th>Meaning</th>
<th>Example</th>
</tr>';
foreach ($data as $row)
{
echo '<tr>';
foreach ($row as $value)
{
echo '<td>';
echo $value;
echo '</td>';
}
echo '<td>
<form method="POST" action="'.$_SERVER["PHP_SELF"].'">
<input type="hidden" name="LIKE" value="'.$row['wordID'].'">
<input type="submit" class="btn btn-success" value="Submit">
</form>
</td>';
echo '</tr>';
}
echo '</table>';
处理表单提交的代码是:
if($_POST['submit'])
{
$sql = "UPDATE vocab SET likes = likes+1 where wordID = '{$row['wordID']}'";
$stmt = $db->prepare($sql);
/* Execute */
$stmt->execute();
}
【问题讨论】:
-
在你的更新中
'{$row['wordID']}'应该是'{$_POST['wordID']}'吗? (也请使用占位符而不是将值插入 SQL) -
还将
action="<?php echo $_SERVER["PHP_SELF"]?>更改为action="'. $_SERVER["PHP_SELF"].'。你把你的代码混在一起了。 -
恐怕没什么区别。
-
我同意,奈杰尔!我正在混合我的代码 - 我发现很难将 php 嵌入到 html 中。仍然无法正常工作:(
-
尝试将其拆分,分别回显每个部分(不同的回声)。使其更易于阅读(恕我直言)