根据db中加载的行更改URL

时间:2015-05-15 17:01:27

标签: php jquery mysql

我试图创建简单的网站只是为了显示图像。图像的URL从数据库加载 RANDOMLY ,并通过jQuery解析为页面。到目前为止,它工作正常,但我有URL的麻烦。无论加载img,它仍然是相同的。

我拥有的内容: index.php

我喜欢什么,例如 index.php?id = [来自db的值]

9gag之类的内容如果您按下它,则更改地址栏中的地址

有什么变化可以以某种方式起作用吗?欣赏任何想法。感谢

这是我的img-get.php

$mysqli = new mysqli($server, $user, $pass, $db);

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = $mysqli->query("SELECT * from ".$table . " order by rand() limit 1" )) {
    $row = $result->fetch_array(MYSQLI_BOTH);

    echo    "<h2>" . htmlspecialchars_decode(stripslashes($row['title'])) . "</h2>" 
                   . htmlspecialchars_decode(stripslashes($row['description'])) 
                   . "<br> <a href='" .$row['link'] ."'> Source </a>";

    $result->close();
}

$mysqli->close();

这是我的剧本

    $(document).ready(function(){
        $(".next").click(function(){
            $(".x").load("img-get.php");
            });
        });

在索引中我通过

调用它
<button class='next'>
    <b>Load next</b>
</button>

<div class =" x">
    <?php include_once 'img-get.php' ?>
</div>  

3 个答案:

答案 0 :(得分:1)

               . "<br> <a href='" .$row['link'] ."?id=" . $row['id'] . "'> Source </a>";

答案 1 :(得分:1)

您可以使用header()命令:

if ($result = $mysqli->query("SELECT * from ".$table . " order by rand() limit 1" )) {
    $row = $result->fetch_array(MYSQLI_BOTH);

    echo    "<h2>" . htmlspecialchars_decode(stripslashes($row['title'])) . "</h2>" 
                   . htmlspecialchars_decode(stripslashes($row['description'])) 
                   . "<br> <a href='" .$row['link'] ."'> Source </a>";

    header("Location: http://www.example.com?id=".$row['id']);
    $result->close();
}

答案 2 :(得分:1)

您可以在这里使用pushState,例如:

$(document).ready(function(){
    $(".next").click(function(){
        $(".x").load("img-get.php", function() {
          imageLink = $(".x").find("a").attr("href");
          window.history.pushState('', '', imageLink);
        });
    });
});