Javascript 追加到div时从mysql数据库获取旧数据

Javascript 追加到div时从mysql数据库获取旧数据,javascript,php,jquery,Javascript,Php,Jquery,我有一个主页,我有一个按钮,打开一个弹出窗口。当关闭这个弹出窗口时,我有一个脚本,它调用一个php文件从数据库中选择数据。此选定数据将附加到主页中的div中: if (win.closed !== false) { window.clearInterval(pollTimer); $.get("<?php echo $GLOBALFILESPHPFORJS ?>DBtoOCI.php", { ReferenceKey: Reference } ) .do

我有一个主页,我有一个按钮,打开一个弹出窗口。当关闭这个弹出窗口时,我有一个脚本,它调用一个php文件从数据库中选择数据。此选定数据将附加到主页中的div中:

 if (win.closed !== false) { 
    window.clearInterval(pollTimer);
    $.get("<?php echo $GLOBALFILESPHPFORJS ?>DBtoOCI.php", { ReferenceKey: Reference  } )
    .done(function( data ) { 
      console.log( data );
      $("#ItemData").append(data);
     });

您必须先清理div,然后为其追加数据$ItemData.html


我解决了这个问题,用另一个参考号保存了从数据库弹出窗口中获得的所有新数据


因此,在打开弹出窗口之前,我会生成一个唯一的编号,将其添加到弹出窗口的url中,然后在将数据保存到数据库时,我使用该编号来保存数据。然后,如果我重新打开另一个弹出窗口,它会有一个新的唯一参考号。在此之前,我创建了一个唯一的编号,并使用该编号在数据库中保存数据,还使用该编号从数据库中删除相同的行。因此,如果我打开弹出窗口并将其关闭,那么它会用这个唯一的数字保存数据,也会用相同的数字删除这些数据,但是如果我重新打开弹出窗口并再次关闭,那么我会在数据库中再次看到旧数据,我想这是由于缓存造成的。

我希望在div中有新数据,而不是删除它,因为我在php代码中看到,您一次就可以获得所有数据。若您继续向div追加内容,即使您并没有从数据库中删除它,也会使其在数据中重复。解决此问题的最佳方法是在每次请求数据时清除div。如果您正在寻找另一种实现方法,则不能使用echo$row['animalname'];您必须使用json并告诉javascript您想要追加什么以及您想要从div中删除什么。如果您喜欢,我可以在这个dbtooci.php中为您展示它,我已经将行删除,然后从DB中删除行,但是如果再次打开dbtooci.php,它会选择并添加相同的数据,所以我猜dbtoci.php中有错误
$sqlReturnExistingOCI = "SELECT * FROM animal WHERE animalname= ?";


      if($stmt = $conn->prepare($sqlReturnExistingOCI)) 
        {    
            mysqli_stmt_bind_param($stmt, "s", $referencekey);

            if(!$stmt->execute()) 
            { 
                echo $stmt->error;
            } 
            else 
            { 

              $result = mysqli_stmt_get_result($stmt);
              while ($row = mysqli_fetch_array($result)) {

                 echo $row['animalname'];
               }
              $stmt->free_result(); 
              $stmt->close; 
            }
        }
if (win.closed !== false) { 
window.clearInterval(pollTimer);
$.get("<?php echo $GLOBALFILESPHPFORJS ?>DBtoOCI.php", { uniqueReferenceKey: Reference  } )
.done(function( data ) { 
  console.log( data );
  $("#ItemData").html('');
  $("#ItemData").append(data);
 });