auto update

freakcx

Erfahrenes Mitglied
Habe folgendes Problem:

800 Einträge in einer Tabelle
ca 3000 Einträge in einer anderen Tabelle
Jeder der Einträge Hat eine ID die mit der ID der anderen Tabelle gleich sind.

Ich möchte jetzt alle 3000 Einträge anhand der ID mit einem Wert der anderen Tabelle füttern und zwar in eine Spalte der Tabelle die den gleichen Namen trägt.

Hier meine Idee nur weiß ich nicht wie ich ihn dazu bekomme das er jede einzelne ID abklappert bis er durch ist :confused: hatte an eine While-Schleife gedacht aber komme irgend wie nicht auf die Lösund hier das was ich habe:

PHP:
<?
include('db_connect')
$sqlupdate = "UPDATE 
            	  table_fehlend
        	  SET 
            	  costs = costs_aus_anderer_table
        	  WHERE
            	  id = id_aus_anderer_table";
?>

Sitze heute irgend wie auf dem Schlauch brauche das Script aber dringend... thx for support!
 
PHP:
include('db_connect')

$out=mysql_query("SELECT costs, id FROM table_vorhanden") or die(mysql_error());
$compare_v=mysql_fetch_array($out)

mysql_query("UPDATE table_fehlend SET costs = '".$compare_v['costs']."' WHERE id = '".$compare_v['id']."'") or die(mysql_error());

bekomme Fehler: "
Parse error: parse error, unexpected T_VARIABLE in D:\WEB-Disk\ApacheFriends\xampp\htdocs\krause\db_debug.php on line 4"

Das muss an dem Test Apache hier im lokalen Server liegen... da ist doch kein Fehler :confused: ....

Das Script oben müsste noch irgend ein Befehl wie z.B FOR ALL! bekommen oder so? hat jemand ne Idee ob das geht ist wirklich wichtig, kann das wohl erst probieren wenn ich zuhause bin da der Fehler oben für mich nicht nach zu vollziehen ist...
 
lol ich Blindfuchs naja hab hier nur Editor ^^ Script geht jetzt, was jetzt noch fehlt ist das er das auf jeden Eintrag der beiden Tables anwendet... ich werde mal in die php referenz gucken thx bis jetzt wer einen Tipp hat immer her damit ;)
 
PHP:
include('db_connect');

$out=mysql_query("SELECT costs, id FROM table_vorhanden") or die(mysql_error()); 
while($compare_v=mysql_fetch_array($out)){

mysql_query("UPDATE table_fehlend SET costs = '".$compare_v['costs']."' WHERE id = '".$compare_v['id']."'") or die(mysql_error());  

}

funkioniert nicht?
 
doch das geht jetzt, wo ich aber nicht weiter komme ist das jetzt alle einträge abgearbeitet werden anhand der id, momentan nimmt er immer nur den ersten eintrag den rest nimmt er sich nicht vor, aber hab keine idee wie ich das realisieren kann :confused:
 
nein eben nicht weil der sich dann immer nur einen Eintrag nimmt, man müsste wenn eine ganze Spalte nehmen... habs aber gelöst:

PHP:
mysql_query("UPDATE table_fehlend, table_vorhanden SET table_fehlend.costs = table_vorhanden.costs WHERE table_fehlend.id = table_vorhanden.id") or die(mysql_error());
 
Zurück