php - 我想做一个喜欢的按钮,但这不起作用 php mysql
问题描述
这是我的代码,但它不起作用我想要一个为每个 img 创建一个类似按钮的代码,如果他们按下一个按钮,则需要 waarde + 1 来完成。但是为什么这段代码不起作用,他将它与数据库很好地连接,但他没有做任何事情 waarde +1
他现在在做什么他增加了数据库中第一行的值,你点击哪个按钮都没有关系
$sql="SELECT url, categorie FROM url";
if ($result=mysqli_query($conn,$sql))
{
while ($row=mysqli_fetch_row($result)) {
$url = $row[0];
?>
<div class="col-12 col-sm-6 col-lg-3 isotope-item <?php echo $row[1]; ?>">
<div class="image-gallery-item mb-4 pb-3">
<a href="<?php echo $row[0]; ?>" class="lightbox-portfolio">
<span class="thumb-info custom-thumb-info-1">
<span class="thumb-info-wrapper">
<span class="thumb-info-plus"></span>
<img src="<?php echo $row[0]; ?>" class="img-fluid" alt="">
<form action="" method="POST">
<button type="submit" value="<?php echo $url;?>" class="btn-floating waves-effect waves-dark transparent" name="like">
<i class="material-icons blue-text">thumb_up</i>
</button>
</form>
</span>
</span>
</a>
</div>
</div>
<?php
}
if(isset($_POST['like'])){
$sql = "UPDATE url SET waarde = waarde + 1 WHERE url = '".$url."'";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
}
mysqli_free_result($result);
}
mysqli_close($connection);
?>
有人可以帮助我吗?
解决方案
改变这个:
if(isset($_POST['like'])){
$sql = "UPDATE url SET waarde = waarde + 1 WHERE url = '".$url."'";
进入这个:
if(isset($_POST['like'])){
$value = $_POST['like'];
$sql = "UPDATE url SET waarde = waarde + 1 WHERE url = '$value'";
因此,您将查询参数化为已发布的 url。
两个旁注:
- 更新查询应该在 while 循环之外。不必重复多次;
- 表 (url) 和表 (url) 中的字段不应具有相同的名称。至少对于可读性而言,这不是一个好习惯,如果您不始终指定表名,可能会导致查询出现问题
url.url
推荐阅读
- c++ - 我应该明确地=删除非常量右值引用限定函数吗?
- node.js - Firebase 云功能模拟器可以使用生产 Firestore 调用触发器吗?
- angular - 如何在 Angular 的服务中指定提供者?
- php - 使用 PHP 关联数组创建翻译类
- javascript - 定义的变量不会显示在窗口对象中
- html - Bootstrap 表行不适合 headerrow (Angular)
- android-studio - 当用户从另一个应用程序返回到我们的应用程序时如何做某事
- powerbi - 在列小计中获取正确的值
- geopandas - geopandas 光栅化 shpefile
- c# - Xamarin Forms CollectionView 无法正确显示