Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182

    [MySQL] Unire tabelle per mailing list

    Ho due tabelle: "newsletter" e "testo_mail", nella prima ci sono tutti gli indirizzi email, nella seconda il testo dell'email da inviare.

    newsletter = id (int), mail (varchar)
    testo_mail = id (int), testo (longtext)

    Ho creato una funzione PHP per l'invio multiplo di email, il problema è che non so come unire le due tabelle.
    In poche parole nella stessa pagina php dovrei prelevare il testo dell'email e inviarla ai vari indirizzi. Cosa devo usare? Union? Join? E che sintassi uso di preciso?

    Ovviamente non posso fare due query separate, perché non funzionerebbe.

    Codice PHP:
    $select mysql_query ("SELECT * FROM newsletter "$db);
    while (
    $record mysql_fetch_array ($select)) { ... }

    $select mysql_query ("SELECT * FROM testo_mail "$db);
    while (
    $record mysql_fetch_array ($select)) { ... } 
    Ho provato a fare una union (forse ho sbagliato a scriverla) e mi ritorna:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in [indirizzo] on line 40

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    106
    select * FROM
    newsletter join testo_mail
    ON newsletter .id=testo_mail.id

    ma questo comporta che dovrebbe esserci una relazione logica tra l'id di newsletter e l'id di testomail

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182
    Purtroppo non c'è relazione logica... non ci sono altri metodi?

  4. #4
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    Senza legame logico come fai a sapere quale mail mandare a quale mailing list ? O_o

    Ti crei una terza tabella con ID mailing list e ID mail e usi quella da ponte tra le due.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182
    Originariamente inviato da Mashin
    Senza legame logico come fai a sapere quale mail mandare a quale mailing list ? O_o

    Ti crei una terza tabella con ID mailing list e ID mail e usi quella da ponte tra le due.
    Il testo dell'email è unico, c'è solo un testo da mandare a tutte le email. Testo e mailing list stanno in due tabelle separate. Dovrei prelevare il testo e mandarlo a tutti. In che modo potrei creare questo ponte?

  6. #6
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    fai un cartesiano. Una join senza condizioni di unione. Lui ti crea tutti gli incroci possibili.

    Se la tabella email ha 1 e 1 sola riga con la mail da mandare a tutte le mailing list il gioco e' fatto.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182
    Originariamente inviato da Mashin
    fai un cartesiano. Una join senza condizioni di unione. Lui ti crea tutti gli incroci possibili.

    Se la tabella email ha 1 e 1 sola riga con la mail da mandare a tutte le mailing list il gioco e' fatto.
    Un piano cartesiano? Puoi scrivere qualche riga di codice così capisco cosa vuoi dire?

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.