更改具有相同名称的多个元素的内容

时间:2019-09-06 01:29:01

标签: php jquery html ajax

我有一些<td name="puja">元素,我想每隔5秒更新一次id,因此它们包含的最高出价( puja )为拍卖( subasta )。为此,我正在尝试使用AJAX和PHP。

HTML看起来像这样(相关代码):

<?php    
    foreach ($subastas as $subasta) { ?>
        <td name="puja" id="<?php echo $subasta["oid_s"] ?>"> </td>

由于我有多个要更新的元素,因此我尝试获取所有元素,然后为每个元素运行AJAX函数。

AJAX:

$(document).ready(function()
{
        var ids = document.getElementsByName("puja");

        for (var i=0; i<ids.length;i++){
        var id = ids[i].id;
        $.ajax({
        url : 'includes/getPuja.php',
        data:{"oid_s":id},
        success: function(data){
            $(`#${id}`).html(data);
            }
        });
    };
});

最后,在我的php文件中,我只是建立一个数据库连接,获取所需的值,然后echo

getPuja.php(相关代码):

$puja = 0;

if(isset($_POST["oid_s"])) {
   $oid_s = $_POST["oid_s"];

   $consultaPuja='SELECT pujado from (SELECT * from pujas WHERE OID_S = :oid_s ORDER BY pujado DESC) where rownum = 1';  
    try {
        $stmtPuja = $conexion->prepare($consultaPuja);
        $stmtPuja -> bindParam(':oid_s', $oid_s);
        $stmtPuja -> execute();
        foreach ($stmtPuja as $fila) {
            $puja = $fila["PUJADO"] ;
        }
        echo $puja;
    } catch(PDOException $e) { 
        $_SESSION["excepcion"] = $e -> GetMessage();
        header("Location: excepcion.php");
    }
}

当我运行它时,不会修改HTML。

1 个答案:

答案 0 :(得分:0)

我用以下代码解决了我的问题,现在值每秒更新一次:

iter._new