Avatar billede naebet Nybegynder
10. november 2008 - 14:58 Der er 12 kommentarer

hente data fra en tabel og sætte ind i en anden tabel

Hej Jeg tumler lidt med følgende

jeg har 2 tabel der ser sådan her ud:

tabel1
felt1
felt2
felt3
felt4
felt5

Tabel2
felt1
felt2
felt3

Jeg vil gerne vælge felt1, felt2 og felt3 WHERE (et eller andet= noget)fra tabel1 og sætte værdierne ind i tabel2 hvordan gør jeg det?
Avatar billede j4k0b Nybegynder
10. november 2008 - 15:49 #1
Er du helt ny til databaser eller programmering, eller spørger du om der er en indbygget måde at overføre database fra én tabel til en anden? Det er der desværre ikke.

1) SELECT data fra tabel1
2) INSERT data i tabel2
3) DELETE data fra tabel1
Avatar billede naebet Nybegynder
10. november 2008 - 16:17 #2
Nej jeg kan godt de grundlægende ting hive data ud og putte ind, men kan ikke få det her til at virke. Skal der laves en funktion der kører alle "ud data" igennem og sætter dem ind i tabel 2 1 for 1
Avatar billede naebet Nybegynder
10. november 2008 - 16:20 #3
jeg selecter sådan her
$result=mysql_query("SELECT * FROM tabel1 WHERE felt1='ja'" );
While ($info = mysql_fetch_array($result)){

    $felt1= $info['felt1'];
    $felt2= $info['felt2'];
    $felt3= $info['felt3'];
}
Avatar billede j4k0b Nybegynder
10. november 2008 - 16:50 #4
Du kan prøve med noget alá det her (har ikke testet). Brug evt print $query for debugging.


<?php
$res = mysql_query("SELECT * FROM tabel1 WHERE felt1='ja'") or die(mysql_error());
while($row = mysql_fetch_array($res)) {
    $insert_keys = array();
    $insert_values = array();
    foreach($row as $key => $value) {
        $insert_keys[] = $key;
        $insert_values[] = "'".addslashes($value)."'";
    }

    $insert_keys = implode(',', $insert_keys);
    $insert_values = implode(',', $insert_values);

    $query = "INSERT INTO tabel2 (".$insert_keys.") VALUES (".$insert_values.")";
    mysql_query($query) or die(mysql_error());
}
?>
Avatar billede naebet Nybegynder
10. november 2008 - 17:03 #5
giver følgende
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''.0,felt1,1,felt2,2,felt3,3,felt4,4,felt5.') VALUES ('.'ja','ja','1','1','1','1'' at line 1
Avatar billede j4k0b Nybegynder
10. november 2008 - 17:07 #6
ups forkert quoting

<?php
$res = mysql_query("SELECT * FROM tabel1 WHERE felt1='ja'") or die(mysql_error());
while($row = mysql_fetch_array($res)) {
    $insert_keys = array();
    $insert_values = array();
    foreach($row as $key => $value) {
        $insert_keys[] = $key;
        $insert_values[] = '\''.addslashes($value).'\'';
    }

    $insert_keys = implode(',', $insert_keys);
    $insert_values = implode(',', $insert_values);

    $query = 'INSERT INTO tabel2 ('.$insert_keys.') VALUES ('.$insert_values.')';
    mysql_query($query) or die(mysql_error());
}
?>
Avatar billede naebet Nybegynder
10. november 2008 - 17:49 #7
desværre stadig
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''.0,felt1,1,felt2,2,felt3,3,felt4,4,felt5.') VALUES ('.'ja','ja','1','1','1','1'' at line 1

Men jeg tror du har ret i at det er quoting
Avatar billede naebet Nybegynder
11. november 2008 - 06:56 #8
print $query giver

INSERT INTO tabel2 ('.0,felt1,1,felt2,2,felt3,3,felt4,4,felt5.') VALUES ('.'ja','ja','4','4','4','4','4','4','4','4'.')

'.' ser ikke rigtigt ud samt ('.0,felt1,1,felt2,2,felt3,3,felt4,4,felt5.') ser heller ikke rigtig ud
Avatar billede j4k0b Nybegynder
11. november 2008 - 14:19 #9
Quoting ser rigtig nok ud i mit 2. eksempel. Sikker på at det er det eksempel du bruger? Kan ikke lige se andet der kunne være årsagen...
Avatar billede naebet Nybegynder
11. november 2008 - 16:22 #10
Ja det er eks 2 jeg har sat ind, men det ser ud som om der kommer for meget med i INSERT INTO tabel2 ('.0,felt1,1,felt2... Der er jo ingen felter der hedder 0,1 samtidig er der for mange værdier i VALUES ('.'ja','ja','4','4','4','4','4','4','4','4'.') delen har kun 3 felter i tabel2
Avatar billede naebet Nybegynder
20. november 2008 - 21:32 #11
Det er vist tid til at lukke det virker stadig ikke!
Avatar billede naebet Nybegynder
20. november 2008 - 21:32 #12
Vil du have point?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester