使用jQuery变量存储HTML / PHP标记

时间:2016-01-05 05:39:32

标签: php jquery html tags append

我主要使用jQuery创建一个网站,并使用PHP与本地数据库进行通信。

基本上这是我网页的骨架(HTML / PHP):



<html>
  <head>
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
    <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
    <script type = "text/javascript" src = "script.js"></script>
</head>

  <body>
    <div id="content">
    </div>
  </body>
</html>
&#13;
&#13;
&#13;

使用以下jQuery代码:

&#13;
&#13;
$(document).ready(function()
{
  
  var tagsQuery = "<? include 'connection.php'; $sql = 'SELECT dateofsale, eid, cid, amount FROM Sales'; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { echo '<table><tr><th>Fecha</th><th>Vendedor</th><th>Cliente</th><th>Monto</th></tr>'; while($row = mysqli_fetch_assoc($result)) { echo '<tr><td>' . $row['dateofsale'] . '</td><td>' . $row['eid'] . '</td><td>' . $row['cid'] . '</td><td>' . $row['amount'] . '</td></tr>';} echo '</table>';}else {echo '0 results';}?>";
  
  $('#content').append(tagsQuery);

});
&#13;
&#13;
&#13;

总而言之,我将HTML / PHP标记存储在jQuery中的变量中,并将此标记附加到内容div。它在第一次加载页面时有效,但是当我单击其他按钮以显示相同数据时(例如,如果我导航到运行此代码的页面,它不能完全运行...它只能部分工作)。

你可以帮忙吗?如果我不够清楚,请告诉我。谢谢!

PS:conntection.php只连接到数据库。

3 个答案:

答案 0 :(得分:2)

必须在服务器上处理PHP,并且当您在浏览器中运行jQuery时,服务器不再出现在图片中。你最好的选择可能是把你的&#34; tagsQuery&#34;将代码编入PHP脚本并使用AJAX,API样式:

进行调用
$(document).ready(function(){
    $.ajax('http://example.com/new_php_script.php')
        .done(function(data){
            // "data" is the resulting output of the PHP script
            $('#content').append(data);
        });
});

答案 1 :(得分:0)

由于您在加载页面时附加了此代码,为什么不将此代码放在php标记中? Javascript仅适用于客户端脚本。您无法从Web浏览器更改服务器代码。如果需要,可以轻松地将该代码放在php标记中

<?php your php code here ?>

这样你就可以完成你即将完成的任务

答案 2 :(得分:0)

如果你想将你的设计附加到之前的div

,你也可以这样做
$(document).ready(function()
    {
     var html = '';
     html += '<div class="item col-xs-12 col-lg-6">';
     html += '<div class="thumbnail">';
     html += '<div class="caption">';
     html += '<h4 class="group inner list-group-item-heading">';
     html += '<b>'+data.subject+'</b></h4>';
     html += '<h5><b>'+data.projectname+'</b></h5><br />';
     $('#content').append(html);
    });