Guten Morgen,
vielleicht könnt ihr mir bei folgendem Problem weiterhelfen. Und zwar folgendes. Ich habe eine Kundentabelle, die etwa 50000 Datensätze enthält. Nun möchte ich alle Datensätze in eine andere Tabelle übertragen, bei denen nur bestimmte emails erlaubt sind. Des weiteren dürfen keine doppelten in die neue Tabelle übertragen werden. Bei meinem derzeitigen Script wird nach etwa 6500 Datensätze der Vorgang abgebrochen und ich weiss nicht warum.
Außerdem dauert das Übertragen sehr lange. Wo könnte der Fehler sein?
MFG
Benji
vielleicht könnt ihr mir bei folgendem Problem weiterhelfen. Und zwar folgendes. Ich habe eine Kundentabelle, die etwa 50000 Datensätze enthält. Nun möchte ich alle Datensätze in eine andere Tabelle übertragen, bei denen nur bestimmte emails erlaubt sind. Des weiteren dürfen keine doppelten in die neue Tabelle übertragen werden. Bei meinem derzeitigen Script wird nach etwa 6500 Datensätze der Vorgang abgebrochen und ich weiss nicht warum.
PHP-Code:
if($newsletter=="ja")
{
if (!isset($sendeid) or $sendeid == "") {$sendeid = 0;}
if (!isset($gesamt) or $gesamt == "") {$gesamt = 0;}
$liste = array();
if($obj = mysql_query("SELECT id, homepage_url, name, email, status FROM dhs_link_textlink WHERE
status = 'freigeschaltet' AND id > '$sendeid' ORDER BY id ASC"))
{
while($row = mysql_fetch_assoc($obj))
{
array_push($liste,$row);
}
}
if($obj = mysql_query("SELECT id, homepage_url, name, email, status FROM dhs_link_url WHERE
status = 'freigeschaltet' AND id > '$sendeid' ORDER BY id ASC"))
{
while($row = mysql_fetch_assoc($obj))
{
array_push($liste,$row);
}
}
if($obj = mysql_query("SELECT id, homepage_url, name, email, status FROM dhs_link_url_top_10 WHERE
status = 'freigeschaltet' AND id > '$sendeid' ORDER BY id ASC"))
{
while($row = mysql_fetch_assoc($obj))
{
array_push($liste,$row);
}
}
$restmails = count($liste);
$counter = 0;
for ($i=0; $i<$restmails; $i++)
{
$sendeid = $liste[$i]['id'];
$name = $liste[$i]['name'];
$email = $liste[$i]['email'];
$homepage_url = $liste[$i]['homepage_url'];
$check_url = mysql_query("SELECT email from dhs_linkadresse WHERE email Like '$email'");
$anzahl_url = mysql_num_rows($check_url);
if ($anzahl_url == 0 AND $email != "")
{
$insert_daten = mysql_query ("INSERT INTO dhs_linkadresse (id, name, email, homepage_url, status)
VALUES
('', '$name', '$email', '$homepage_url', 'vorhanden')");
$update_datensatz = mysql_query("UPDATE dhs_link_textlink SET status_newsletter = 'ja' WHERE id = '$sendeid'");
$update_datensatz = mysql_query("UPDATE dhs_link_url SET status_newsletter = 'ja' WHERE id = '$sendeid'");
$update_datensatz = mysql_query("UPDATE dhs_link_url_top_10 SET status_newsletter = 'ja' WHERE id = '$sendeid'");
}
$gesamt=$gesamt +1;
$counter = $counter + 1;
$jetzt=time();
$vergangen=$jetzt - $start;
if($vergangen > 15)
{
break;
}
}
if ($counter < $restmails)
{
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>Nachricht verteilen...</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\">
<meta http-equiv=\"refresh\" content=\"1;url=adressen_uebertragen.php?newsletter=ja&mid=$mid&sendeid=$sendeid&gesamt=$gesamt\">
</head>
<body>
$ergebnis
Bisher $gesamt Adressen übertragen.<br><br> Bitte das Browserfenster noch nicht schliessen!
</body>
</html>";
}
else
{
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>Adressen übertragen...</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\">
</head>
<body>
$ergebnis
Insgesamt $gesamt Adressen übertragen. Fertig.<br>Sie koennen das Browserfenster jetzt schliessen!<br><a href=\"index.php\">zurueck</a>
</body>
</html>";
}
}
if($newsletter!="ja")
{
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>Adressen übertragen...</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\">
</head>
<body>
$ergebnis Wurst!
</body>
</html>";
}
MFG
Benji
Kommentar