Дублиране на запис php

hardisun

Registered
Здравейте,

надявам се да не се дублира темата ми с друга. Имам следния въпрос имам код който добавя продукт :

<?php session_start();

if ($_SESSION['AUTHADMIN'] != TRUE) {
header('Location: login/login.php');
}
include('includes/conn.php');
include('functions.php');

include 'resize-class.php';

$p_maincat = $_POST['p_maincat'];
$p_subcat = $_POST['p_subcat'];
$p_cost = $_POST['p_cost'];
$p_old_cost = $_POST['p_old_cost'];
$p_update_available = $_POST['p_update_available'];
$p_manufacturer = $_POST['p_manufacturer'];
$p_date = mktime();
$p_name = addslashes($_POST['p_name']);
$p_desc = addslashes($_POST['p_desc']);

######## ДОБАВЯНЕ НА СНИМКА ########

while(list($gen_key,$gen_value) = each($_FILES['p_media']['name']))
{
if(!empty($gen_value))
{
$img_upload = $gen_value;
$img_upload=str_replace(" ","_",$img_upload);
$img_upload = strtolower($img_upload) ;
$gen_add = "../img/products/$img_upload";
// echo "$filename e каченa<br>";
$gen_ext_check = end(explode('.', $gen_add));

copy($_FILES['p_media']['tmp_name'][$gen_key], $gen_add);
$gen_newName ='../img/products/'."elkom_".rand().".".$gen_ext_check;
rename($gen_add, $gen_newName);
$p_media = substr($gen_newName, 16 );

// create_watermark($gen_newName, $gen_newName);

}
}


######## ДОБАВЯНЕ НА СНИМКА ########


$sql_res = mysql_query("INSERT INTO products (

p_name,
p_weight,
p_desc,
p_desc_short,
p_seo_title,
p_seo_desc

) VALUES (

'$p_name',
'$p_weight',
'$p_desc',
'$p_desc_short',
'$p_seo_title',
'$p_seo_desc'


)") or die(mysql_error());
header("Location: ".$_SERVER['HTTP_REFERER']);

?>

Трябва ми код, с който да дублирам вече създаден запис в базата ми данни. Може ли някой да помогне :) Благодаря предварително !
 
Ако съм те разбрал правилно трябва да направиш един селект по ид или по каквото искаш и след това инсърт. Имай предвид че кода е примерен и трябва да се съобразиш например че променливата $row е масив и почва от 0 по-принцип, но аз приемам че елемент $row[0] ти е id-то и за това почвам инсърта от 1 и т.н.

Код:
$sqlSelect = mysql_query("SELECT * FROM products WHERE id = 1");
$row = mysql_fetch_array($sqlSelect);
$sqlInsert = mysql_query("INSERT INTO products ( 

p_name, 
p_weight, 
p_desc, 
p_desc_short, 
p_seo_title, 
p_seo_desc 

) VALUES ( 

$row[1], 
$row[2], 
$row[3], 
$row[4], 
$row[5], 
$row[6] 


)") or die(mysql_error());
 
Ако искаш например да дублираш всеки запис, можеш да използваш в селекта вместо id = 1, id = last_insert_id(), което взима последното ид, но трябва да имаш предвид че ако искаш да е така, скрипта трябва да е в друг файл и можеш да го достъпиш например с пренасочване, хедър, защото иначе може да се получи безкраен цикъл.
 

Back
Горе