sql >> データベース >  >> RDS >> Mysql

PHP / MySQLは、[さらに読み込む]ボタンを使用して、あるテーブルから別のテーブルにデータをチャンクでコピーします

    これがお役に立てば幸いです。 phpに実装して、より多くのアクションをロードできます。

    さらにボタンをクリックした後、mysqlクエリでオフセットと制限を変更するたびに

    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;
    

    ....

    ....

    完全なコード。

    1.次のコードをコピーしてpage1.phpに貼り付けるだけです

    <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.page2.phpに次のコードをコピーします

    最初の2行でmysql_server、mysql_user、mysql_password、database_name引数を変更します

    <?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.ブラウザでpage1.phpを実行し、データをtable2にロードします

    必要に応じてページを更新せずにtable2のデータを表示するようになりました(user2714387がコメントで述べています)

    4.次のコードをコピーしてpage3.phpに貼り付けます

    <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.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.ブラウザでpage4.phpを実行します




    1. Oracleで制約の名前を見つける方法

    2. InsertIntoを使用してMySQLにテキストを投稿できません

    3. 実行中のSELECTステートメントを強制終了する方法

    4. ALTERTABLEステートメントがSQLServerのFOREIGNKEY制約と競合していました-SQLサーバー/TSQLチュートリアルパート69