PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| <?php
function copy_row($primary_key,$originitating_table,$originitating_field_key,$originitating_field_value,$change_field_key,$change_field_value) {
$query = mysql_query("SELECT * FROM ".$originitating_table." WHERE ".$originitating_field_key." = '".$originitating_field_value."'");
while($insert_info = mysql_fetch_assoc($query)) {
// $return .= "<pre>"; $return .= print_r(array_keys($insert_info),1); $return .= "</pre>";
// haal eerst field_key uit de array
$original_field_keys = array_keys($insert_info);
$insert_columns = implode(",",$original_field_keys);
foreach($original_field_keys as $value=>$key) {
if($key == $primary_key) {
$to_insert[] = "''";
} elseif($key == $change_field_key) {
$to_insert[] = "'".$change_field_value."'";
} elseif($key !== $originitating_field_key) {
$to_insert[] = "'".addslashes($insert_info[$key])."'";
} else {
$to_insert[] = "''";
}
}
$insert_values = implode(",",$to_insert);
mysql_query("INSERT INTO ".$originitating_table." (".$insert_columns.") VALUES(".$insert_values.")") or die(mysql_error());
unset($original_field_keys,$insert_columns,$insert_values,$to_insert);
}
return $return;
}
?> |
Een omweg, maar wel effectief.
Gebruik:
copy_row('primary_key',"tabelnaam","welke_kolom",$col_value,"","");
[
Voor 14% gewijzigd door
ijsthijs op 03-07-2006 14:36
]