单击HTML img标记并使用PDO

时间:2016-12-09 15:22:28

标签: php jquery mysql ajax pdo

我有这个HTML:

<a href="#"  ><div class="menu"><img src="<?php echo $value->capa; ?>" class="img-rounded" id="item" alt="Cinque Terre" alt="Lights"></a></div>

我有那个部分来获取img隐藏的ID:

<input type="hidden" id="idLivro" name="idLivro" value="<?=$value->id?>">

这个脚本:

$(document).ready(function(){
    $(".menu").click(function(){
        var idLivro = document.getElementById("idLivro");
        $.ajax({
            url: 'updateBadge.php?id='+idLivro,
            method: 'GET'
        })
    });
});

updateBadge.php:

require_once 'classes/Crud.php';

$banco = new Usuarios();

$idLivro = $_GET['idLivro'];

$banco->updateBadge($idLivro);

我想要做的是,当有人点击其旁边有徽章的链接(img)时,它会将数据库中的相应列增加1。

但是,我有更新方法的部分在一个类中:

public function updateBadge($id){
        $sql  = "UPDATE $this->table SET badge = (badge+1) WHERE id = :id";
        $stmt = DB::prepare($sql);
        $stmt->bindParam(':id', $id);
        return $stmt->execute();
    }

如何使用AJAX调用此函数来更新徽章计数器?

已编辑:我已使用以下评论更改了代码。仍然没有工作

2 个答案:

答案 0 :(得分:0)

您需要一个脚本(例如Users.php,因为您在AJAX请求中调用它。在此Users.php中,您必须实例化您的类并使用相应的参数调用updateBadge - 方法,也必须在你的AJAX请求中发送。

如果你只想增加徽章列写下面的查询(那么只有一个绑定参数可以):

$sql = "UPDATE $this->table SET badge = (badge+1) WHERE id = :id";

要获取AJAX请求的ID,您需要HTML中的ID,通过jQuery获取它并将其传递给您的URL

$.ajax({ 
     url: 'classes/Users.php?id='+theJsVariableYouStoredTheIdIn,
     method: 'GET'
 })

然后,您可以Users.php通过$_GET['id']

访问while y < x: data_list[y].title = title data_list[y].link = link data_list[y].description = description story_list.update({title: {'link' : link, 'description' : description}}) y += 1

答案 1 :(得分:0)

页面updateBadge.php

$(document).ready(function(){
    $(".menu").click(function(){
        var idLivro = document.getElementById("idLivro");
        var badge=  $('#vidLivro').val();
        $.ajax({
            url: 'updateBadge.php?id='+idLivro,
            method: 'GET'
        })
        .done(function(data,text,jqxhr){
            if(jqxhr.responssetext=='updated'){
               $('#vidLivro').val(badge+1);  

            }
        })
    });
});

你的剧本:

select l.sid, trunc(l.id1 / power(2, 16)) rbs,
    bitand(l.id1, to_number('ffff', 'xxxx')) + 0 slot,
    l.id2, l.lmode, l.request, l.ctime, l.block,
    substr(v.osuser, 1, 12) osuser,
    substr(v.machine, 1, 15) machine,
    substr(v.module, 1, 12) module,
    decode(v.blocking_session_status||l.block, 'VALID0',
           dbms_rowid.rowid_create(1, v.row_wait_obj#, v.row_wait_file#,
                       v.row_wait_block#, v.row_wait_row#), '.') lrow,
    o.object_name,
    decode(v.sql_id, null, v.prev_sql_id, v.sql_id) sql_id,
    o.owner
from v$lock l, v$session v, all_objects o
where l.sid = v.sid
  and v.row_wait_obj# = o.object_id(+)
  and l.ctime > 5 and l.type = 'TX' and (l.request = 6 or l.block = 1)
order by 2, 3, 4, 8 desc, 7 desc;