繁体   English   中英

使用JavaScript在div上加载php页面

[英]Load php page on div with JavaScript

尝试将php结果(来自不同页面)加载到单击链接的同一页面上的div

我尝试按照这里的答案

但这对我不起作用。 以下是我尝试过的

price.php

<div class="pricepop"></div>

<?php
$sql = $db->prepare("SELECT * FROM commodityprices");
$result = $sql->execute();
while ($row = $result->fetchArray(SQLITE3_ASSOC))
{
    $id = $row['id'];
    $_SESSION['id'] = $id;
    $name = $row['name'];
    $unit = $row['unit'];
    $iprice = $row['iprice'];
    $lprice = $row['lprice'];
    $irate = $row['irate'];
    $lrate = $row['lrate'];
    $terms = $row['cterms'];
    $asat = date('d/M/Y');
    $market = $row['market'];

    echo '<tr>
    <td>'.$name.'</td>
    <td>'.$unit.'</td>';
        if ($irate == "Down")
        {
            echo '
                 <td style="background: #ef5a66; color: #fff"><i class="fa fa-caret-down"> </i> '.$iprice.'</td>';
        }
        else
        {
            echo '
                  <td style="background: #28bc88; color: #fff"><i class="fa fa-caret-up"> </i> '.$iprice.'</td>';
        }
            echo '<td>'.$terms.'</td>';
            if ($lrate == "Down")
            {
                echo '
                  <td style="background: #ef5a66; color: #fff"><i class="fa fa-caret-down"> </i> '.$lprice.'</td>';
             }
             else
             {
                echo '
                  <td style="background: #28bc88; color: #fff"><i class="fa fa-caret-up"> </i> '.$lprice.'</td>';
             }
                echo '<td>'.$asat.'</td>
                      <td>'.$market.'</td>
                      <td><a class="comprice" href="pricedetails.php?id='.$id.'">View more</a>//Link to dispaly more results
</td>
                          </tr>';
             }

pricedetails.php

<?php
                  $priceId = $_GET['id'];
                  $sql = $db->prepare("SELECT * FROM commodityprices WHERE id = ?");
                  $sql->bindParam(1, $priceId, SQLITE3_INTEGER);
                  $result = $sql->execute();
                  while ($row = $result->fetchArray(SQLITE3_ASSOC))
                  {
                      $id = $row['id'];
                      $name = $row['name'];
                      $iprice = $row['iprice'];
                      $lprice = $row['lprice'];
                      $lrate = $row['lrate'];
                      $terms = $row['cterms'];
                      $asat = date('d/M/Y');
                      $market = $row['market'];
                      $priceperbags = $row['priceperbags'];

                          echo '<tr>
                          <td>'.$name.'</td>';
                          echo '<td>'.$terms.'</td>';
                          if ($lrate == "Down")
                          {
                              echo '
                              <td style="background: #ef5a66; color: #fff"><i class="fa fa-caret-down"> </i> '.$lprice.'</td>';
                          }
                          else
                          {
                            echo '
                            <td style="background: #28bc88; color: #fff"><i class="fa fa-caret-up"> </i> '.$lprice.'</td>';
                          }
                          echo '<td>'.$asat.'</td>
                          <td>'.$market.'</td>
                          <td class="comprice">'.$priceperbags.'</td>
                          </tr>';
                  }

JavaScript

$(document).ready(function() {
    $(".comprice").on("click", function (e) {
        e.preventDefault();
        $(".pricepop").load("pricedetails.php");
    });
});

当我在pricedeatils.php price.php的结果查看更多点击链接应该在显示.pricepop div (这是在price.php页),但是当我现在点击.pricepop是空白。 请问我该如何解决这个问题? 谢谢。

您的代码未加载正确的网址。 已修改,因此id参数是url的一部分。

请改用此js脚本。

$(document).ready(function() {
    $(".comprice").on("click", function (e) {
        e.preventDefault();
        $(".pricepop").load($(this).attr('href'));
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM