[PHP] Insert/Update van ODBC naar MySQL

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Swanfield
  • Registratie: Juni 2004
  • Laatst online: 23-06 13:57
Ik heb al wat rond gezocht maar kon niets vinden wat vergelijkbaar is met mijn situatie.

Ik heb een ODBC koppeling met een andere database en een MySQL database. Nu wil ik de gegevens van de ODBC koppeling toevoegen in de MySQL database middels INSERT INTO.

Nu heb ik van de ODBC koppeling SELECT * FROM tabelnaam en ik wil dan INSERT INTO mysql_tabelnaam (Waarde) VALUES ('values')

Op de manier die ik nu heb gedaan krijg ik alleen 1 record in de MySQL database en dus niet alle drie de records van de ODBC database.

Moet ik meer info geven of is dit genoeg? En wie kan mij een beetje op weg helpen?? O-)

Je hoeft niet goed te zijn om de beste te zijn, zolang je maar beter bent dan de rest || Het is niet belangrijk om te winnen, maar het is het enige dat telt


Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:31

Gonadan

Admin Beeld & Geluid, Harde Waren
Het klinkt alsof je geen loop gebruikt om je hele recordset door te lopen.

Post je code eens? (tussen code tags)
Dan kunnen we je makkelijker helpen. :)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • Koppensneller
  • Registratie: April 2002
  • Laatst online: 22:09

Koppensneller

winterrrrrr

En op de volgende manier?

Code is niet getest, maar het idee zal duidelijk zijn:

PHP:
1
2
3
4
5
6
7
8
$result = odbc_exec("SELECT * FROM tabelnaam");
while($row = odbc_fetch_assoc($result))
{
    $field1 = $row['field1'];
    $field2 = $row['field2'];
    $field3 = $row['field3'];
    mysql_query("INSERT INTO mysql_tabelnaam ('field1', 'field2', 'field3') VALUES ('$field1', '$field2', '$field3')");
}

Acties:
  • 0 Henk 'm!

  • Swanfield
  • Registratie: Juni 2004
  • Laatst online: 23-06 13:57
code:
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
<?
//ODBC
$conn=odbc_connect('database,'','');

session_start();

if (!$conn)
  {exit("Connection Failed: " . $conn);}
$sql="SELECT * FROM ODBCTABEL";
$rs=odbc_exec($conn,$sql);
if (!$rs)
  {exit("Error in SQL");}
while (odbc_fetch_row($rs))
{
  $Naam=odbc_result($rs,"Naam");
?>
<?
switch($_GET[button]){
case 1:
//MySQL
$link = mysql_connect('localhost', 'login', 'paswoord');
mysql_select_db('database');
$query = "INSERT INTO TABEL (Naam) VALUES  ('$Naam')";
$result = mysql_query($query,$link);
}
?>
<?
odbc_close($conn);
}
?>

Je hoeft niet goed te zijn om de beste te zijn, zolang je maar beter bent dan de rest || Het is niet belangrijk om te winnen, maar het is het enige dat telt


Acties:
  • 0 Henk 'm!

  • Swanfield
  • Registratie: Juni 2004
  • Laatst online: 23-06 13:57
KoppenSneller schreef op dinsdag 20 maart 2007 @ 11:38:
En op de volgende manier?

Code is niet getest, maar het idee zal duidelijk zijn:

PHP:
1
2
3
4
5
6
7
8
$result = odbc_exec("SELECT * FROM tabelnaam");
while($row = odbc_fetch_assoc($result))
{
    $field1 = $row['field1'];
    $field2 = $row['field2'];
    $field3 = $row['field3'];
    mysql_query("INSERT INTO mysql_tabelnaam ('field1', 'field2', 'field3') VALUES ('$field1', '$field2', '$field3')");
}
Maak nu gebruik van odbc_result dat werkt dan toch inprinciepe het zelfde? Zo ja dan is dit de manier (zie mijn script) zoals ik het nu heb toch?

Je hoeft niet goed te zijn om de beste te zijn, zolang je maar beter bent dan de rest || Het is niet belangrijk om te winnen, maar het is het enige dat telt


Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:31

Gonadan

Admin Beeld & Geluid, Harde Waren
Even voor de duidelijkheid:
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
<?
//ODBC
$conn=odbc_connect('database','','');

session_start();

if (!$conn) exit("Connection Failed: " . $conn);

$sql="SELECT * FROM ODBCTABEL";
$rs=odbc_exec($conn,$sql);
if (!$rs) exit("Error in SQL");

while (odbc_fetch_row($rs)) {
  $Naam=odbc_result($rs,"Naam");
  switch($_GET[button]) {
    case 1:
    //MySQL
    $link = mysql_connect('localhost', 'login', 'paswoord');
    mysql_select_db('database');
    $query = "INSERT INTO TABEL (Naam) VALUES  ('$Naam')";
    $result = mysql_query($query,$link);
  }
  odbc_close($conn);
}
?>

Ofwel, je sluit je odbc connectie in de eerste iteratie. :)

[ Voor 190% gewijzigd door Gonadan op 20-03-2007 11:52 ]

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • Swanfield
  • Registratie: Juni 2004
  • Laatst online: 23-06 13:57
Even kijken of ik je nu wel snap :p

Moet ik nu de odbc sluiten zoals jij in je voorbeeld aangeeft of moet ik de MySQL database sluiten voor de ODBC koppeling? :)


Heb hem!! :) begreep ik je toch goed :) tnx

[ Voor 14% gewijzigd door Swanfield op 20-03-2007 12:01 ]

Je hoeft niet goed te zijn om de beste te zijn, zolang je maar beter bent dan de rest || Het is niet belangrijk om te winnen, maar het is het enige dat telt


Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:31

Gonadan

Admin Beeld & Geluid, Harde Waren
Damien2004 schreef op dinsdag 20 maart 2007 @ 11:57:
Even kijken of ik je nu wel snap :p

Moet ik nu de odbc sluiten zoals jij in je voorbeeld aangeeft of moet ik de MySQL database sluiten voor de ODBC koppeling? :)


Heb hem!! :) begreep ik je toch goed :) tnx
Mijn voorbeeld was jouw code maar dan iets gestructureerder neergezet. ;)
Dan zie je meteen wat het probleem is. :)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • Swanfield
  • Registratie: Juni 2004
  • Laatst online: 23-06 13:57
Gonadan schreef op dinsdag 20 maart 2007 @ 12:02:
[...]

Mijn voorbeeld was jouw code maar dan iets gestructureerder neergezet. ;)
Dan zie je meteen wat het probleem is. :)
Tnx! Ben erg rommelig nog met programmeren....maar het word wel beter :) Bedankt voor de hulp!

Je hoeft niet goed te zijn om de beste te zijn, zolang je maar beter bent dan de rest || Het is niet belangrijk om te winnen, maar het is het enige dat telt

Pagina: 1