Schleife

PHP-Fan

Erfahrenes Mitglied
PHP:
<?

require("config2.php");

$dbverbindung = mysql_connect($server, $user, $password);

$dbanfrage = "SELECT * from cm_dl_links ORDER BY id";

$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

while ($ausgabe = mysql_fetch_array ($result)){

$dbverbindung_up = mysql_connect($server, $user, $password);

$id = $ausgabe[id];
$link = $ausgabe[link];
$infoid = $ausgabe[infoid];
$name = $ausgabe[name]; 
$size = $ausgabe[size];
$lastupdate = $ausgabe[lastupdate];
$tracker = $ausgabe[tracker];

}

$dbanfrage_up = "UPDATE cm_dl_info SET link = '$link', dlname = '$name', size = '$size', lastupdate = '$lastupdate', tracker = '$tracker' WHERE id = '$infoid'";

mysql_query($dbanfrage_up)or die(mysql_error());

?>

Wie kriege ich es hin, dass er die Inhalte die er findet

PHP:
$dbanfrage = "SELECT * from cm_dl_links ORDER BY id";

alle hier einträgt. Es sind mehrere tausend Einträge. Er Updatet aber immernur einen? Muss noch wo eine Schleife hin, wenn ja, wo?

PHP:
$dbanfrage_up = "UPDATE cm_dl_info SET link = '$link', dlname = '$name', size = '$size', lastupdate = '$lastupdate', tracker = '$tracker' WHERE id = '$infoid'";
 
Aber was bringt es, wenn Daten in mehreren Tabellen vorhanden sind? Das ist doch bloß Ressourcenverschwendung.
 
Das Script hatte ein Kollege gemacht. Ich baue gerade das Script was aus 5 Tabellen besteht in zwei. Die Inhalte brauche ich aber. Danach kann diese Tabelle gelöscht werden. Alles was er findet soll er in die neue DB eintragen. Er macht aber immer nur eine...
 
schreib das:
$dbanfrage_up = "UPDATE cm_dl_info SET link = '$link', dlname = '$name', size = '$size', lastupdate = '$lastupdate', tracker = '$tracker' WHERE id = '$infoid'";
mysql_query($dbanfrage_up)or die(mysql_error());
doch einfach in die while Schleife dann sollte es funktionieren.

 
PHP:
<?

require("config2.php");

$dbverbindung = mysql_connect($server, $user, $password);

$dbanfrage = "SELECT * from cm_dl_links ORDER BY id";

$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

while ($ausgabe = mysql_fetch_array ($result)){

$dbverbindung_up = mysql_connect($server, $user, $password);

$id = $ausgabe[id];
$link = $ausgabe[link];
$infoid = $ausgabe[infoid];
$name = $ausgabe[name]; 
$size = $ausgabe[size];
$lastupdate = $ausgabe[lastupdate];
$tracker = $ausgabe[tracker];

}

while { $dbanfrage_up = "UPDATE cm_dl_info SET link = '$link', dlname = '$name', size = '$size', lastupdate = '$lastupdate', tracker = '$tracker' WHERE id = '$infoid'"

mysql_query($dbanfrage_up)or die(mysql_error());

}

?>

Funktioniert nicht... Irgendeine Klammer falsch gesetzt, weiß aber nicht wie ich die Schleife sonst setzen soll.
 
Also es funktioniert definitv nicht. Was ist an dem Code falsch? Die Details die ich auswähle bzw. mir ausgeben lasse:

PHP:
$dbanfrage = "SELECT * from cm_dl_links ORDER BY id";

$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

while ($ausgabe = mysql_fetch_array ($result)){

$dbverbindung_up = mysql_connect($server, $user, $password);

$id = $ausgabe[id];
$link = $ausgabe[link];
$infoid = $ausgabe[infoid];
$name = $ausgabe[name]; 
$size = $ausgabe[size];
$lastupdate = $ausgabe[lastupdate];
$tracker = $ausgabe[tracker];

}

Er diese einfach in die andere Tabelle einträgt. Kann doch nicht so schwer sein oder?

PHP:
while { $dbanfrage_up = "UPDATE cm_dl_info SET link = '$link', dlname = '$name', size = '$size', lastupdate = '$lastupdate', tracker = '$tracker' WHERE id = '$infoid'"

mysql_query($dbanfrage_up)or die(mysql_error());
 
Du stellst dich an :)

Deine Update-Abfrage einfach in die erste schon VORHANDENE while-Schleife eintragen das ist doch sowas von logisch oder nicht ? :-(
 
Du gehst zwar in dem ersten while()-Konstrukt alle Datensätze durch, doch da die UPDATE-Abfrage erst außerhalb des Konstrukts stattfindet, bleiben immer nur die Daten des letzten Durchlaufs übrig.
 
Zurück