我有一个预先构建的电子邮件模板表。用户可以看到包含他们已构建的模板的表格,并可以编辑或删除它们。我正在构建一个功能来添加"复制"他们的选择。复制和复制模板后,它们最终会在具有重复值的编辑器中生成,并且行的ID将自动递增。
我一直试图让这个查询起作用:
if ((isset($_GET['id'])) && ($_GET['id'] != "") && ($_GET['cmd'] = 'copyTemplate')) {
$replicate = mysql_query("SELECT id, name, subject, markup FROM email_templates WHERE id=$old_id;");
$original_record = mysql_fetch_assoc($replicate);
//insert new template
$query = "INSERT INTO email_templates (name, subject, markup) VALUES ('".$original_record['name']."','".$original_record['subject']."','".$original_record['markup']."');";
mysql_query($query);
$newid = mysql_insert_id();
//release results from memory
mysql_free_result($original_record);
//Hop into edit mode for new template
header("Location: communications_templatebuilder.php?id=" . $newid);
}
当我使用'id=%s'
而不是'id=$old_id'
时,我最终在编辑器中使用自动递增的ID和数据库中的新行,但列值为空。
我错过了什么。
答案 0 :(得分:-2)
在这里,您将获得原始表的所有记录,并在新表中逐个插入所有注册表。
你好三:
$replicate = mysql_query("SELECT id, name, subject, markup FROM email_templates");
$original_record = mysql_fetch_assoc($replicate);
while($original_record = mysql_fetch_array($replicate)){
$query = "INSERT INTO email_templates (name, subject, markup) VALUES ('".$original_record['name']."','".$original_record['subject']."','".$original_record['markup']."');";
mysql_query($query);
}
//release results from memory
mysql_free_result($original_record);