Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    generazione file excel ed invio in allegato con phpmailer

    Raga urge aiutino !
    Spiego in breve cosa vorrei fare;
    1. generare tramite select al db un file excel
    2. allegare il file generato in email ed inviata tramite la classe phpmailer

      nota: il file excel allegato deve includere unicamente i records in tabella che riguardano il cliente destinatario, quindi per un file che contempla diversi clienti, dovranno corrispondere vari invii ognuno contente l'allegato excel che li riguarda, si può fare ?


    Mi aiutate a capire come mettere insieme le cose magari utilizzando per l'invio email sempre phpmailer ?

    Thanks !

  2. #2
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Per quanto ne so 1) non è fattibile minimamente, se non hai un'interfaccia COM-Excel (non credo esista, ma mai dire mai), o una qualche libreria che scriva direttamente gli XLS (più facile)

  3. #3
    Dai un'occhiata qui per generare il file Excel:
    http://phpexcel.codeplex.com

    E qui per l'invio di allegati con phpmailer:
    http://phpmailer.worxware.com/?pg=tutorial#3

  4. #4
    Uhm... forse non mi sono spiegato bene
    non ho problemi a generare file in excel con php/mysql
    non ho problemi ad allegare file ed inviarli tramite phpmailer, il mio problema penso sia più complesso;
    dovrei far trovare al cliente all'interno del body (phpmailer) un file in excel allegato che dovrà essere il prodotto di una query, quindi intendo un file che non esiste fisicamente in pratica è l'ouput dell query.
    Un altro problema consiste nel rilevare ed inviare con phpmailer solamente i records del file di ogni singolo cliente, quindi; se all'interno di un file excel che contempla facciano un esempio 100 clienti, e di un determinato cliente ci sono 3 record, devo riuscire ad inviare ed includere nell'email solo quelli, e via così, ogni cliente dovrà ricevere la propria email con solo i suoi records.
    Troppo complicato ?

  5. #5
    Praticamente estrai tutti i dati dal db e vai a piazzarli nel file excel, per poi tirarli fuori dal file excel, creare un altro file e inviarlo per email, ho capito bene?

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    fai prima a fare una query al DB specifica per ogni cliente, creare un file temporaneo in excel con i risultati, spedirlo in allegato alla email e cancellare il temporaneo
    quindi, 100 clienti, 100 query, 100 creazioni di file, 100 invii e 100 cancellazioni del temporaneo

    oppure prima ti crei i file excel, li codifichi in modo che siano facilmente associabili alla email e mandi tutte le email in batteria

  7. #7
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Quote Originariamente inviata da clasku Visualizza il messaggio
    fai prima a fare una query al DB specifica per ogni cliente, creare un file temporaneo in excel con i risultati, spedirlo in allegato alla email e cancellare il temporaneo
    quindi, 100 clienti, 100 query, 100 creazioni di file, 100 invii e 100 cancellazioni del temporaneo

    oppure prima ti crei i file excel, li codifichi in modo che siano facilmente associabili alla email e mandi tutte le email in batteria
    Mi sembra di gran lunga la soluzione più auspicabile

  8. #8
    Quote Originariamente inviata da clasku Visualizza il messaggio
    fai prima a fare una query al DB specifica per ogni cliente, creare un file temporaneo in excel con i risultati, spedirlo in allegato alla email e cancellare il temporaneo
    quindi, 100 clienti, 100 query, 100 creazioni di file, 100 invii e 100 cancellazioni del temporaneo
    Questo è quello che volevo fare; intendevo appunto generare tramite query al DB un file excel per cliente e spedirlo tramite la classe phpmailer, peccato che non riesca a mettere insieme le cose
    qualcuno ha per favore qualche esempio ?

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    SELECT idCliente FROM tuaTabella GROUP by idCliente
    scorri il record set e per ogni record nel resultset:
    - SELECT iTuoCampi FROM tuaTabella WHERE leTueCondizioni AND idCliente = qualcosa
    - scorri il resultset e crei il file excel (mi pare tu abbia detto che non è un problema)
    - invia la email con l'allegato
    - cancelli il file

  10. #10
    Scusate se riprendo questa discussione.
    Sono riuscito a fare "QUASI" tutto.

    Genero il file excel con query mysql utilizzando la libreria phpexcel e poi invio il file prodotto come allegato tramite la classe phpmailer,
    fin qui tutto ok.
    Adesso il mio problema è che invio a tutti gli indirizzi email dei clienti l'elenco completo del file excel dove compaiono tutti i clienti, dovrei invece riuscire ad inviare ad ogni cliente esclusivamente i record del file excel che gli compete.

    Ho provato a produrre singoli file excel impostando un ciclo (foreach) il problema che mi crea solo sue file e poi non va avanti, quando invece i clienti sono almeno 100, non riesco a capire perchè

    Qualcuno non avrebbe uno script già impostato ?

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.