webmaster resource
+ Webmaster Forum von Webmaster-Resource.de » Webcoding » Datenbanken (Moderator: Christian Felken)
|-+ ARRAY
Username:
Password:

Seiten: [1] 2
Topic Tools  
Read 26. Juli 2007, 09:01:20 #0
lila

ARRAY

Hallo!

Ich habe folgendes Problem:

Ich möchte aus einer alten DB Daten selektieren und in einem Array speichern.
Diese gespeicherten Daten in dem Array, möchte ich in eine neue DB (Tabelle)
einfügen.

Selektieren ist kein Problem, in kann auch das Ergebnis in einem array speichern?
Wie kann ich jetzt mit die gespeicherten Daten in diesem array in eine neue DB bzw Tabelle einpflegen?
Ich meine von der Syntax her.....

lila
« Letzte Änderung: 26. Juli 2007, 10:28:41 von lila »
Offline  
Read 26. Juli 2007, 10:51:16 #1
» тнє $υι¢ι∂є « ™

Re: ARRAY

for schleife, INSERT INTO => fertig


mfg epix


Offline  
Read 26. Juli 2007, 12:57:38 #2
lila

Re: ARRAY

Code:
<?php
// Verbindung zum Datenbankserver aufbauen 

    
$dbcnx = @mysql_connect("localhost","XXX","YYY");
    if(!
$dbcnx){
    
echo("<p>Zur keine Verbindung ".
    
"zum Datenbankserver möglich.</p>");
    
exit();
    }


    
//Datenbank auswählen

    
if (! @mysql_select_db("XXX")){
    echo(
"<p>Die Datenbank steht leider nicht zur Verfuegung.</p>");
    exit();
    }
    
   
$result = @mysql_query("SELECT name, strasse, plz, ort FROM tabelle");
    if(!
$result){
    echo(
"<p>Fehler bei der Ausführung der Abfrage: ".
    
mysql_error()."</p>");
    exit();
    }

//Ausgabe
    
$row=0;
    while (
$rowErg mysql_fetch_row($result)){
    
$rowArray[$row][0]=$rowErg[0];
    
$rowArray[$row][1]=$rowErg[1];
    
$rowArray[$row][2]=$rowErg[2];
    
$rowArray[$row][3]=$rowErg[3];
    

    

    

    
//echo ( " ". $rowErg["0"]."<br/>" ); //Test um den Inhalt des Arrays zu überprüfen
    
}
    

    
// Verbindung zum Datenbankserver aufbauen 

    
$dbcnx = @mysql_connect("localhost","ZZZ","DDD");
    if(!
$dbcnx){
    
echo("<p>Zur keine Verbindung ".
    
"zum Datenbankserver möglich.</p>");
    
exit();
    }


    
//Datenbank auswählen

    
if (! @mysql_select_db("ZZZ")){
    echo(
"<p>Die Datenbank steht leider nicht zur Verfuegung.</p>");
    exit();
    }
    
    @
mysql_query("INSERT INTO tabelle (name, street) VALUES ('$rowErg[0]','$rowErg[1]')");
    

    
?>

Das hier macht einen Eintrag in die Tabelle, aber ohne Ergebnis!
Wenn ich aber den Array als echo ausgebe sind die Werte drin! Was mach ich den falsch?
Offline  
Read 26. Juli 2007, 13:19:06 #3
» тнє $υι¢ι∂є « ™

Re: ARRAY

du must $rowArray per for schleife durchlaufen!


Offline  
Read 26. Juli 2007, 13:21:38 #4
Zeus

Re: ARRAY

sieht zwar nicht so schön auf müste aber auch gehn

Code:
<?php
$mysqlget
="SELECT ´x´ FROM `XXX`";
$queryget=mysql_query($mysqlget);
while(
$ds=mysql_fetch_object($queryget)){
$wert[]=$ds->x;
}
?>


so da wäre dan alles im array
und jetz das array in die andre tb / db
Code:
<?php
$k
=count($wert);
for(
$i=0;$i<=$k;$i++){
$sqlout="INSERT INTO `XXX` (XXX) VALUES ('".$wert[$i]."')";
$dummyout=mysql_query($sqlout);
if(
$dummyout)echo "Daten übertragen";
else echo 
"Fehler";
}
?>
« Letzte Änderung: 26. Juli 2007, 13:29:29 von Zeus »

Gott ist Tod (Friedrich Nietzsche)
Offline  
Read 26. Juli 2007, 13:38:14 #5
» тнє $υι¢ι∂є « ™

Re: ARRAY

oder so:

Code:
<?php
//Verbindung 1 zu alten Server
$sock1=mysql_connect("localhost","root","1234");
mysql_selectdb("altedatenbank",$sock1);

//Verbindung 2 zu >NEUEN< Server
$sock2=mysql_connect("localhost","root","1234");
mysql_selectdb("neudatenbank",$sock2);


$SQL1 = "SELECT * FROM `db1` ORDER BY ID";
$point = mysql_query($SQL1,$sock1);
$result = mysql_fetch_object($poin);
$WERTE = Array();
$counter= "0";
for($x=0;$x<count($result);$x++){
$data=mysql_fetch_object($result);

//Spalten
$WERTE[][1] = $data->spalte1;
$WERTE[][2] = $data->spalte2;

}
for($y=0;$y<count($WERTE);$y++){

$SQL2="INSERT INTO `neuedb` (spalte1,spalte2) VALUES('".$WERTE[$y][1]."','".$WERTE[$y][2]."');";
if(mysql_query($SQL2,$sock2))
{
$counter=$counter+1;
}

}
echo "Es wurden $counter Datensätze übernommen...";
?>



mfg epix
« Letzte Änderung: 26. Juli 2007, 13:41:17 von EpiX »

Offline  
Read 26. Juli 2007, 13:39:16 #6
Zeus

Re: ARRAY

ja das ist schöner als meins


Gott ist Tod (Friedrich Nietzsche)
Offline  
Read 26. Juli 2007, 13:46:36 #7
lila

Re: ARRAY

@zeus

also deine version habe ich eben probiert....bekomme zwar die meldung daten übertragen, ingesamt 184 daten, aber die felder sind leer!....genau wie bei meiner eigenen version...versteh ich nicht! versuch mal die version von epix!
Offline  
Read 26. Juli 2007, 13:48:20 #8
Zeus

Re: ARRAY

ja bei mir is des problem das immer ein eigener neuer datensatz erstelt wird ich glaub mit der von epix fährst du um einiges besser


Gott ist Tod (Friedrich Nietzsche)
Offline  
Read 26. Juli 2007, 13:58:10 #9
lila

Re: ARRAY

nee leider nicht....

bekomme diese fehlermeldung:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource

und noch eine Meldung, die sagt das 2 Datensätze übernommen worden sind....in der neuen tabelle sind beide felder leer....ich raff das nicht!
Offline  
Read 26. Juli 2007, 14:02:08 #10
» тнє $υι¢ι∂є « ™

Re: ARRAY

jo habe nen kleinen fehler in meinem code

berichtigt:

Code:
<?php
//Verbindung 1 zu alten Server
$sock1=mysql_connect("localhost","root","1234");
mysql_selectdb("altedatenbank",$sock1);

//Verbindung 2 zu >NEUEN< Server
$sock2=mysql_connect("localhost","root","1234");
mysql_selectdb("neudatenbank",$sock2);


$SQL1 = "SELECT * FROM `db1` ORDER BY ID";
$point = mysql_query($SQL1,$sock1);
$WERTE = Array();
$counter= "0";
for($x=0;$x<mysql_num_rows($point);$x++){
$data=mysql_fetch_object($point);

//Spalten
$WERTE[][1] = $data->spalte1;
$WERTE[][2] = $data->spalte2;

}
for($y=0;$y<count($WERTE);$y++){

$SQL2="INSERT INTO `neuedb` (spalte1,spalte2) VALUES('".$WERTE[$y][1]."','".$WERTE[$y][2]."');";
if(mysql_query($SQL2,$sock2))
{
$counter=$counter+1;
}

}
echo "Es wurden $counter Datensätze übernommen...";
?>


Offline  
Read 26. Juli 2007, 14:10:25 #11
lila

Re: ARRAY

ja er schreibt jetzt die datensätze rein, aber irgendwie versetzt....

zB. name strasse
     Meier
             Musterstr.

es muss aber so sein:

    name strasse
    Meier Musterstr.

hmm...

   
Offline  
Read 26. Juli 2007, 14:15:58 #12
Zeus

Re: ARRAY

wie wärs mit nem Datenexport aus der alten db und nem import in die neue db?


Gott ist Tod (Friedrich Nietzsche)
Offline  
Read 26. Juli 2007, 14:19:03 #13
lila

Re: ARRAY

ich habe das auch schon versucht...über die phpmyadmin oberfläche....aber da ich nur 2 spalten aus der tabelle haben will...
macht er hier beim importieren auch probleme...deswegen der versuch es über einen skript zu machen...
Offline  
Read 26. Juli 2007, 14:20:42 #14
» тнє $υι¢ι∂є « ™

Re: ARRAY

aber da ich nur 2 spalten aus der tabelle haben will... macht er hier beim importieren auch probleme

kann nicht sein! es ist egal wie viele spalten du in/ex portierst er wird es machen


Offline  
Seiten: [1] 2
Gehe zu: