Crew algemeen |
|
<?php
$datatable = 'table_a';
$targettable = 'table_b';
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('database') or die(mysql_error());
//script start hier
$fields = array();
$qFields = mysql_query('SHOW columns FROM '.$datatable) or die(mysql_error());
while($q = mysql_fetch_object($qFields))
{
$fields[] = $q->Field;
}
$i = 0;
$qData = mysql_query('SELECT * FROM '.$datatable);
while ($q = mysql_fetch_array($qData))
{
$data = array();
foreach ($fields as $field)
{
$data[] = $q[$field];
}
$dataArray[] = '\''.implode('\', \'',$data);
$i++;
}
mysql_query('INSERT INTO '.$targettable.' ('.implode(', ', $fields).') VALUES ('.implode('), (', $dataArray).')');
<?php $datatable = 'table_a'; $targettable = 'table_b'; //script start hier { $fields[] = $q->Field; } $i = 0; { foreach ($fields as $field) { $data[] = $q[$field]; } $dataArray[] = '\''.implode('\', \'',$data); $i++; } mysql_query('INSERT INTO '.$targettable.' ('.implode(', ', $fields).') VALUES ('.implode('), (', $dataArray).')');
heb enkel de laatste query niet getest, maar ik denk dat de structuur wel klopt, anders moet je volgens mij de komma nog verwijderen... met een echo kreeg ik dit resultaat:
INSERT INTO table_b (id, imdb, title) VALUES ('5', '0478087', '21 (2008)), ('6', '0478088', '508 Nelson (2006)), ('7', '0478089', '9/11/03: A Day in the Life of New York (2005))
als het niet werkt moet je de laatste query door dit vervangen:
mysql_query('INSERT INTO '.$targettable.' ('.implode(', ', $fields).') VALUES ('.implode(') (', $dataArray).')');
succes! |