Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [PHP+MySQL] Mailing List

    Ragazi sapete dirmi come funzionano le mailing list?

    Io ho fatto tutto il codice e mi funziona tutto tranne una cosa..

    Ho fatto:
    1) Form di registrazione.
    2) Appena si invia il form di registrazione, i dati vengono salvati in un db mysql.
    3) Pannello di Controllo
    4) Pannello di Controll: Invio un messaggio con la funziona mail() a tutti gli utenti iscritti.




    Ora però se ci sono tipo 1000 email nel database mi invia tutto corettamente. Ma quando ci sono più email (più di 5000) non mi invia più email a tutti 5000 persone perchè dice script interotto a causa della lunga essecuzione. Massimo 30 secondi.

    Come posso risolvere il mio problema?


    Magari c'è qualche funzione che prolunghi esecuzione di script lato server? Così apposto di 30 secondi metto una trentina di minuti.

  2. #2
    altrimenti altra soluzione...fai 2 funzioni mail(), da un lato ci metti una metà, dall'altro l'altra metà di utenti!

  3. #3
    oppure meglio ancora, ti organizzi con LIMIT quando fai la query per ottenere i destinatari e ne "peschi" 800 per volta, quando i primi 800 sono finiti, aggiorni la pagina con il punto di inizio per pescare i successivi 800, così se con 1000 funziona, con 800 non avrà problemi e potrai mandare anche migliaia di mail senza incappare nel limite di tempo.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  4. #4
    Originariamente inviato da Lathspell
    oppure meglio ancora, ti organizzi con LIMIT quando fai la query per ottenere i destinatari e ne "peschi" 800 per volta, quando i primi 800 sono finiti, aggiorni la pagina con il punto di inizio per pescare i successivi 800, così se con 1000 funziona, con 800 non avrà problemi e potrai mandare anche migliaia di mail senza incappare nel limite di tempo.
    Avevo pensato anche io di usare questo sistema però non so come caricare 1000 record alla volta dal database.

    I primi 1000 record li so prendere perche metto un ciclo while e un contatore. Quando il contattore arriva a 1000 interrompo il ciclo while.

    Ma poi come faccio prendere i successivi 1000 record?

    E poi altra volta 1000 e così via...??

  5. #5
    forse ho capito

    devo usare LIMIT nella query quando recupero le email dal database?

    MI potreste spiegare un può come funziona LIMIT ?

    Supponiamo che ho 15 record nel mio database ed è strutturato così.

    ID = 1 2 3 5 7 8 9 10 11 15 19 20 21 23 31
    Email = quì ho una email per ogni id indicato sopra.

    codice:
    $query = "SELECT Email FROM MailingList LIMIT 0.5;"
    in questo modo prendo le prime 5 email giusto? Ma le prende per id o per record? cioe avro un risultato di questo genere considerando id:
    1) - 1 2 3 5 7
    o avro un risultato di questo genere:
    2) - 1 2 3 5


    Poi un volevo un chiarimento su un altra cosa.
    Se ho nel database solo 15 record e faccio prima volta LIMIT 0.10 poi la seconda volta LIMIT 10.10.
    La prima volta mi prende i primi 10 record. Ma la seconda volta ci sono solo 5 record e non 10, quìndi mi darà un errore o pure mi prende solo quei 5 record?

  6. #6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.