【问题标题】:Creating Dynamic Pages with php and MySQL使用 php 和 MySQL 创建动态页面
【发布时间】:2019-06-20 14:05:31
【问题描述】:

我正在使用 mySQL 数据库中的“donemler”表在 main.php 中创建链接列表,并希望创建一个页面来显示“sikkeler”表中的数据(该表有一个用作关系的外键 donemID在两个表之间),因为用户单击它。 (data.php 是 index.php 的一部分,它是一个无限滚动页面)

在这里,我尝试使用 GET 方法调用 $row["donemID"] $k=$_GET['donemID'] 在 index.php 中但没有用。

我也尝试使用 SESSIONS 方法,在 main.php 中添加“$_SESSION['donemID']=$row$row["donemID"]

并在 index.php 中将其调用为 $k=$_SESSION['donemID']

但它也没有工作。

我想学习如何在php中创建页面并显示相关数据。

提前致谢!

main.php

<?php
require_once "config.php";

$sql = $conn->query("SELECT * FROM donemler ORDER BY donemID");

if ($sql->num_rows > 0) {
// output data of each row
while($row = $sql->fetch_assoc()) {

echo "<tr><td><a href='index.php?devletID=".$row["devletID"]."&donemID=".$row["donemID"]."'>" .$row["donemler"]. "</a></td></tr>";
}
} else {
echo "0 results";
}
$conn->close();
?>

index.php

<script type="text/javascript">

        var start = 0;
        var limit = 20;
        var reachedMax = false;
        var dnmID = $_GET("donemID");

        $(window).scroll(function () {
            if ($(window).scrollTop() == $(document).height() - $(window).height() )

                getData();
        });

        $(document).ready(function () {
           getData();
        });

        function getData() {
            if (reachedMax)
                return;

            $.ajax({
               url: 'data.php',
               method: 'POST',
                dataType: 'text',
               data: {
                   getData: 1,
                   start: start,
                   limit: limit,
                   dnmID: dnmID,
               },
               success: function(response) {
                    if (response == "reachedMax")
                        reachedMax = true;
                    else {
                        start += limit;
                        $(".results").append(response);
                    }
                }
            });
        }
    </script>

数据.php

<?php

if (isset($_POST['getData']) ) {

    $conn = new mysqli('localhost', 'usrnm', 'pss', 'db');

    $dnmID = $conn->real_escape_string($_POST['dnmID']);
    $start = $conn->real_escape_string($_POST['start']);
    $limit = $conn->real_escape_string($_POST['limit']);

    $sql = $conn->query("SELECT * FROM sikkeler WHERE donemID='$dnmID' ORDER BY kayit_no DESC LIMIT $start, $limit");
    if ($sql->num_rows > 0) {
        $response = "";

        while($data = $sql->fetch_array()) {
            $response .= '


<tr>
           <td>ICD#'.$data['kayit_no'].'</td>
           <td>'.$data['donemi'].'</td>
           <td><img src="coin_images/'.$data['resim'].'" border="2" width="200px" /></td>
           <td>'.$data['darp'].'</td>
           <td>'.$data['tarih'].'</td>
           <td>'.$data['birim'].'</td>
           <td>'.$data['agirlik'].'</td>
           <td>'.$data['cap'].'</td>
           <td>'.$data['tip'].'</td>
           <td>'.$data['reference'].'</td>


            </tr>
            ';
        }

        exit($response);
    } else
        exit('reachedMax');
}

?>

【问题讨论】:

  • $k=$_SESSION('donemID') 应该是$k=$_SESSION['donemID'] 也应该是$_SESSION['donemID']=$row["donemID"]

标签: php mysql dynamic


【解决方案1】:

您正在通过两种不同的请求方法进行检查:

  1. $_POST['getData']
  2. $k=$_GET['donemID']

由于您使用的是查询字符串,因此它是一个 GET 方法来检查。 main.php

上没有这样的变量,即 getData

【讨论】:

  • index.php 是发布其内容的页面的一部分(它是一个无限滚动页面)。那我该如何使用GET方法呢?
  • 我意识到代码的另一部分实际上是必需的。所以我正确地安排了我的数据只需要弄清楚“var dnmID = $_GET("donemID");”现在加入 index.php。
  • 感谢您的评论,我意识到我的问题变成了“使用 JavaScript 获取 URL 参数”并在这里找到了答案:html-online.com/articles/get-url-parameters-javascript
猜你喜欢
  • 2019-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多