如何在点击链接的同一页面上调用php文件

时间:2015-09-16 05:36:53

标签: php html mysql

我是php&的新手想在div标签中的同一个文件上调用另一个php文件。 在主页上,我正在调用php文件&有关于这些文件的链接&想在div标签中打开下面链接的结果。 我想显示div标签中所有链接的结果

请帮忙!

提前致谢

ViewBdd.php

<html>
    <body>
    <table align="center" width="100%">
        <tr>
            <td>
                <?php
                $con=mysqli_connect("localhost","root","") or die("Failed to connect with database!!!!");
                mysqli_select_db($con,"csdata");
                $result = mysqli_query($con,"SELECT *
              FROM `data`");

                echo "<table border='1' cellpadding='5' cellspacing='2' style='border:black; ' align='center'>
                            <tr><th colspan='4'>(BDD-2015)</th></tr>
                            <tr>
                                <th id='td'>Customer Name</th>  
                                <th id='td'>Rs. in Lakhs</th>
                                <th id='td'>Metric Ton</th>
                                <th id='td'>Percentage</th>
                            </tr>";
                while($row = mysqli_fetch_array($result))
                {
                    echo "<tr>";
                    echo "<td align='center' id='td'><a href='sku.php?Customer_name=" . $row['Customer_name'] . "'>" . $row['Customer_name'] . "</a></td>";
                    echo "<td align='center' id='td'>" . round($row['Total'],2) . "</td>";
                    echo "<td align='center' id='td'>" . round($row['MT'],2) . "</td>";
                    echo "<td align='center' id='td'>" . round($row['Percentage'],2) . "</td>";
                    echo "</tr>";
                }
                echo "</table>";
                mysqli_close($con);
                ?></td>
        </tr>
    </table>
    </body>
</html>

sku.php

<html>
    <body>
    <table align="center" width="100%">
        <tr>
            <td>
                <?php
                $con=mysqli_connect("localhost","root","") or die("Failed to connect with database!!!!");
                mysqli_select_db($con,"csdata");
                $name=$_GET['Customer_name'];
                $result = mysqli_query($con,"Select * from `data` ");

                echo "<table border='1' cellpadding='5' cellspacing='2' style='border:black; ' align='center'>
                            <tr>
                                <th id='td'>Customer Name</th>
                                <th id='td'>Item Name</th>
                                <th id='td'>Rs. in Lakhs</th>
                                <th id='td'>Metric Ton</th>
                            </tr>";
                while($row = mysqli_fetch_array($result))
                {
                    echo "<tr>";

                    echo "<td align='center' id='td'>" . $row['Customer_Name'] . "</td>";
                    echo "<td align='center' id='td'>" . $row['Item_Grouping'] . "</td>";
                    echo "<td align='center' id='td'>" . round($row['Amount'],2) . "</td>";
                    echo "<td align='center' id='td'>" . round($row['MT'],2) . "</td>";
                    echo "</tr>";
                }
                echo "</table>";
                mysqli_close($con);
                ?></td>
        </tr>
    </table>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

为了在不刷新页面的情况下调用另一个PHP脚本,您必须使用AJAX

  1. 查看本教程http://www.w3schools.com/php/php_ajax_intro.asp
  2. 使用AJAX(imho)的最简单方法是使用jQuery。这是另一个教程http://www.w3schools.com/jquery/default.asp
  3. 至于你的代码:

    1. 您必须在div内添加一个链接
    2. 将事件监听器附加到所有这些链接
    3. 在此事件侦听器中调用AJAX请求
    4. 将AJAX请求的输出结果渲染到您的html中
    5. 对您的代码进行了一些更改:

      1. 而不是

      2. 使用

        <div class="sales"><a href="SalesBdd.php" class="get_result"></a></div>
        
        1. 然后添加

          <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
          
        2. 到home.php

          1. 然后添加到home.php脚本

            $('.get_result').click(function (event) 
            { 
               event.preventDefault(); 
            
               var url = $(this).attr('href');
               $.get(url, function(data) {
                  $('.sales').html(data);
               });
            });
            
          2. 结果然后按下链接,生成的html(从php页面获取)将被放置而不是链接到div。

答案 1 :(得分:0)

HTML框架用于解决您的问题,用户可以将浏览器窗口划分为多个部分,其中每个部分都可以加载单独的HTML文档。浏览器窗口中的帧集合称为框架集。窗口按表格组织的方式划分为框架:行和列。

因此,您尝试使用Frame概念而不是在一个页面中编写多个html标记。

<!DOCTYPE html>
 <html>
     <head>
       <title>HTML Frames</title>
     </head>
  <frameset rows="10%,80%,10%">
        <frame name="top" src="abc.html" />
        <frame name="main" src="xyz.html" />
        <frame name="bottom" src="abcd.html" />
    <noframes>
      <body>
        Your browser does not support frames.
      </body>
    </noframes>
  </frameset>
 </html>

以上示例创建三个水平框架。

如果要垂直创建所有帧,请将行更改为

<frameset cols="25%,50%,25%">