Как экспортировать данные из одной таблицы MySQL в другую в PHP? - PullRequest
0 голосов
/ 03 июля 2019

По сути, у меня есть таблица клиентов и список потенциальных клиентов, и мне нужно перенести их клиентам, как только они будут сделаны, и удалить их из исходной таблицы с помощью кнопки экспорта.

Я уже пробовал несколько возможных вещей, таких как select from CData ...... и insert into leadlist, но это не сработало

Мой leadselect.php:

$(document).on('click', '.export', function(){
        var user_id = $(this).attr("id");
        if(confirm("Are you sure you want to export this?"))
        {
            $.ajax({
                url:"export.php",
                method:"POST",
                data:{user_id:user_id},
            success:function(data)   

Моя кнопка export.php:

 <<?php

include('db.php');
include("function.php");

insert into leadlist
  select * from CData
 ?

определена как

$sub_array[] = '<button type="button" name="export" id="'.$row["id"].'" class="btn btn-warning btn-xs export">Export</button>';

Мой ожидаемый результат - экспорт строки данных, выбранной мной, в список и удаление.

Не могли бы вы посоветовать мне, как я могу подойти к этому требованию?

1 Ответ

0 голосов
/ 03 июля 2019

Вам необходимо использовать $_POST['user_id'] в запросах, чтобы вставить и удалить соответствующие строки для этого пользователя.

Используйте подготовленные операторы для предотвращения внедрения SQL при использовании параметра.

$insert_stmt = $conn->prepare("INSERT INTO leadlist SELECT * FROM CData WHERE user_id = ?") or die($conn->error);
$insert_stmt->bind_param("i", $_POST['user_id']);
$insert_stmt->execute() or die($insert_stmt->error);
$delete_stmt = $conn->prepare("DELETE FROM CData WHERE user_id = ?") or die($conn->error);
$delete_stmt->bind_param("i", $_POST['user_id']);
$delete_stmt->execute() or die($delete_stmt->error);

Замените user_id в запросах фактическим именем столбца, который содержит идентификатор пользователя в вашей таблице.

DEMO

...