我有两个表名为Contacts,另一个名为Repairs。
这是维修的内容
id
name
phone
address
budget
due
在联系人中我有以下列
id
name
phone
address
有没有办法同步某些行的2个表?
name
phone
address
我正在寻找一种方法来添加一个移动和valadate的按钮,以确保它尚未在修复中的行上完成
name
phone
address
我不想删除修理中的行
我到目前为止按钮的代码是
<a href="add_to_contacts.php?id#<?php echo$id; ?>Add to Contacts</a>
但我不知道我的add_to_contacts.php
中有什么我认为它会像
<?php
include 'db_connect.php';
function move_row($id = 0) {
$query = $this->db->query('select * from repairs where id = ' . $id);
$row = $query->row_array();
$this->db->insert('contacts',$name);
}
?>
请不要最后一点代码就是我到目前为止它可能是一百万英里之外,但我只能说我试过了。
这里使用的代码是什么?
更新
这是新代码
<?php
//include database connection
include 'db_connect.php';
$query = "INSERT INTO contacts (name, phone, address) SELECT name, phone, address FROM repair_jobs
where id='".$mysqli->real_escape_string($_REQUEST['id'])."'
limit 0,1";
?>
答案 0 :(得分:2)
这真的应该是一个评论 - 但它有点长。
这个问题存在根本缺陷。
这里房间里的大象是你的数据架构是错误的。您不应该在2个不同的表中保存相同的数据 - 这就是它被称为RELATIONAL数据库的原因。维修表应包含:
id
budget
due
contact_id
其中contact_id是指联系人表格中的记录。
在您的问题中,您没有提供有关如何匹配您要复制到联系人表格中的数据的任何详细信息,以避免创建重复记录。
答案 1 :(得分:1)
INSERT INTO contacts (name, phone, address) SELECT name, phone, address FROM repairs WHERE id = $id
像这样:
<?php
//include database connection
include 'db_connect.php';
$query = "INSERT INTO contacts (name, phone, address)
SELECT name, phone, address FROM repair_jobs
WHERE id='".$mysqli->real_escape_string($_REQUEST['id'])."'
LIMIT 0,1";
$mysqli->query($query);
?>