sql >> Databasteknik >  >> RDS >> Mysql

PHP/MySQL kopierar data i bitar från en tabell till en annan via en laddningsknapp

Jag hoppas att detta kommer att hjälpa dig. Du kan implementera det i php för att ladda mer action.

varje gång efter att ha klickat på knappen mer ändra offset och limit i mysql-frågan

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;

....

....

Komplett kod.

1. Bara kopiera och klistra in följande kod i 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.Kopiera följande kod i page2.php

och ändra mysql_server, mysql_user, mysql_password, database_name argument på de två första raden

<?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.Kör page1.php i webbläsaren... och ladda data till tabell2

Visar nu data från tabell 2 utan att uppdatera sidan vid behov (användare2714387 sa i kommentaren)

4.Kopiera och klistra in följande kod i 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.Kopiera följande kod i 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.Kör page4.php i webbläsaren




  1. Lagra IPV6 och IPV4 i MySql och läs det också

  2. Hur kan jag lagra data från mysql till XML i Laravel 5?

  3. Hur TRY_CONVERT() fungerar i SQL Server

  4. Hur får man min/max av två heltal i Postgres/SQL?