Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP/MySQL kopiert Daten in Blöcken von einer Tabelle in eine andere über eine Schaltfläche „Mehr laden“.

Ich hoffe, dies wird dir helfen. Sie können es in PHP implementieren, um mehr Aktion zu laden.

Jedes Mal, wenn Sie auf die Schaltfläche "Mehr" klicken, ändern Sie Offset und Limit in der MySQL-Abfrage

INSERT INTO table2 SELECT * FROM table1 LIMIT 0, 25;

load more...

INSERT INTO table2 SELECT * FROM table1 LIMIT 25, 25;

load more...

INSERT INTO table2 SELECT * FROM table1 LIMIT 50, 25;

....

....

Vollständiger Code.

1. Kopieren Sie einfach den folgenden Code und fügen Sie ihn in page1.php

ein
<div id='message'></div>

<a href='#' id='LoadMore' >Load More</a>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"
    type="text/javascript"></script>

<script>
$(function() {
    var page = 1;
    $("#LoadMore").click(function(){
        $.ajax({
            type:"GET",
            url:"page2.php",
            data:{page:page},
            success: function(response) {
                $("#message").append(response); 
                page++;
            }
        });
    }); 
});
</script>

2. Kopieren Sie den folgenden Code in page2.php

und ändern Sie die Argumente mysql_server, mysql_user, mysql_password, database_name in den ersten beiden Zeilen

<?php
//set argument as your mysql server
$connect = mysql_connect("mysql_server","mysql_user","mysql_password");
mysql_select_db("database_name",$connect);

$page = isset($_GET["page"]) ? $_GET["page"] : 1;
$limit = 25;
$offset = ($page - 1) * $limit;

$sql = "INSERT INTO table2 SELECT * FROM table1 limit $offset, $limit";
mysql_query($sql);
$rows = mysql_affected_rows();
echo "$rows rows added to table2 from table1<br>";
?>

3.Führen Sie page1.php im Browser aus... und laden Sie Daten in table2

Jetzt werden Daten aus Tabelle2 angezeigt, ohne dass die Seite wie erforderlich aktualisiert wird (Benutzer2714387 sagte im Kommentar)

4. Kopieren Sie den folgenden Code und fügen Sie ihn in page3.php

ein
<table width="300" border="1" id='data_grid'></table>

<a href='javascript://' id='LoadMore' >Load More</a>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"
    type="text/javascript"></script>

<script>
$(function() {
    var page = 1;
    $("#LoadMore").click(function(){
        $.ajax({
            type:"GET",
            url:"page4.php",
            data:{page:page},
            success: function(response) {
                $("#data_grid").append(response); 
                page++;
            }
        });
    }); 
});
</script>

4. Kopieren Sie den folgenden Code in page4.php

<?php
    //set argument as your mysql server
    $connect = mysql_connect("mysql_server","mysql_user","mysql_password");
    mysql_select_db("database_name",$connect);

    $page = isset($_GET["page"]) ? $_GET["page"] : 1;
    $limit = 25;
    $offset = ($page - 1) * $limit;

    $sql = "SELECT * FROM table2 limit $offset, $limit";
    $result = mysql_query($sql);
    $numRows = mysql_num_rows($result);
    if($numRows>0) {
        while($row = mysql_fetch_array($result)) {
            //get field data and set to the following row
            echo "<tr><td>field 1</td><td>field 2</td><td>field 3</td></tr>";
                    //edit row as you table data

        }
    } else {
        echo "<tr><td colspan='3'> No more data </td></tr>";
    }
    exit;
?>

6.Führen Sie page4.php im Browser aus