In ein array()? Das geht doch nicht, jedes Script hat ein Speicherlimit, wenn ich 250.000 Empfänger in ein array() lese, dann geht nichts mehr. Vor allem läuft das Script nur eine bestimmte Zeit, d.h. beim nächsten Aufruf per CronJob müsste er wieder ein array() bilden usw.. Bei einem Windows-Programm würde ich das anders lösen bzw. das JOIN würde nicht ins Gewicht fallen, das es nur einmal gemacht wird und dann läuft es bis zum Ende durch.
Wie gesagt, ich weiß nicht wie Sie das Script aufgebaut haben. Sie haben da mit Sicherheit eine Saubere Version liegen.
Einfach mal ein Fallbeispiel:
$hole_daten = mysql_query( \"SELECT to, group FROM newsletter_users LIMIT \".$_GET[limit_from].\" , \".$_GET[limit_to].\"\" );
while ($row=mysql_fetch_array($hole_daten))
{
if($row[group] == \'1\'){
mail($row[to], \"Das ist ein Testversand\", \"Hallo\", $header);
}
}
Wenn jetzt hier mitn in der Schleife nen Select oder so integriert wird, wäre es kein Wunder dass das Script lange läuft!
Mein Script schafft das innerhalb von Einpaar Millisekunden!
Mal davon abgesehen, das cron jobs so eingestellt werden, dass Sie mehrere Minuten laufen sollten, je nach Script Größe!
Umgehen kann man das execution time und memory limit Problem so oder so am saubersten mit Ajax! Das wäre eventuell auch ein Lösungsansatz!
Bitte denken Sie daran, dass das nur ein Beispiel und auch kein Angriff auf Sie uns Ihre Fähigkeiten ist.....
Ach Sie waren das. Irgendwann vielleicht, hat aber nicht Prio. 1, wollen zu wenige, um genau zu sein, nur einer.
Naja, ich gehe mal davon aus, dass es noch nicht so viele Kunden in der Größendimension gibt. Das wäre ein interessanter Punkt. Prio 1, hätte ich jetzt auch nicht gedacht. Da gibt\'s wohl wichtigeres. Halt ein extra Feature für die Zukunft!
Das könnte man aber auch über die Funktionen definieren. Oder manuell in die Empfängertabelle per SQL in ein benutzerdefiniertes Feld für jeden Empfänger schreiben, das kann man dann auch verwenden.
Leider geht das nicht so wie ich das gemeint habe! Der Trackinglink ändert sich nicht pro Kunde sondern bei jedem Newsletter.
Newsletter1 hat Trackinglink1
Newsletter2 hat Trackinglink2
u.s.w.
Habe in Funktionen nur Tabellen vom Kunden zur Auswahl.
Wenn meine Variante funktionieren würde, könnte ich im Quellcode fest eine Variable einfügen: [TRACKINGLINK] und müsste für zukünftige E-Mails nicht immer im Quellcode rum fummeln!
Wenn das aber bereits schon geht, wäre ich Ihnen dankbar, wenn Sie mir eine Lösung aufzeigen!