Wionon Posted December 7, 2022 at 03:18 PM Report Share #628637 Posted December 7, 2022 at 03:18 PM Boa tarde a todos, Ver se consigo explicar-me: Tenho uma tabela de contactos (tbl_contactos) em que tem vários campos, um deles o email_principal. Faço um SELECT tbl_contactos.email_principal FROM tbl_contactos. A minha ideia é em PHP/MYSQLI passar as colunas, dos email, mas em linhas em que cada email fica separado por ponto e virgula (;) para posteriormente poder utilizar uma botão, que vai abrir o outlook através a <a href="mailto:$variavel_com_o_emails_todos">ENVIAR EMAIL</a> A minha duvida é como consigo colocar todos os email do SELECT separados por ponto e virgula e passar para a variável para posteriormente remeter para todos os destinatários SELECCIONADOS. Obrigado pela vossa ajudar, se conseguirem. Vicente Link to comment Share on other sites More sharing options...
Ivo Vicente Posted December 8, 2022 at 11:03 AM Report Share #628653 Posted December 8, 2022 at 11:03 AM Viva, Se quiseres mesmo usar o resultado vindo da query, podes usar group_concat podes ler sobre o uso desta função aqui No entanto, por uma questão de segurança, acho melhor receberes a lista, processas para o caso de existirem emails inválido ou vazios e no fim construir a string final apenas com emails com formato válido Ex: <?php $emails = [ "abc@gmail.com", "", "invalid@samething", "valid@hotmail.com" ]; // Testa o formato usando função interna filter_var do php $validEmails = array_map(function ($email){ return filter_var($email, FILTER_VALIDATE_EMAIL); }, $emails); var_dump($validEmails); // Com array_filter, todos os valores false são removidos $validEmails = array_filter($validEmails); var_dump($validEmails); // Cria a string $to = implode(";", $validEmails); var_dump($to); Pode testar este exemplo e trabalhar o mesmo para o que precisas. Dava para fazer tudo apenas numa linha mas penso que assim será mais descritivo e fácil de acompanhar. Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
Wionon Posted December 10, 2022 at 05:24 PM Author Report Share #628709 Posted December 10, 2022 at 05:24 PM Obrigado Ivo Vicente. Irei testar. Vicente Link to comment Share on other sites More sharing options...
Wionon Posted January 13, 2023 at 03:06 PM Author Report Share #629749 Posted January 13, 2023 at 03:06 PM Ivo já teste e fica impecável. Agora tenho mais um desafio. Tenho uma base de dados em mysqli, em que lá tenho uma tabela com varias lista de distribuição. Cada lista distribuição tem vários email assoiados. A minha dificuldade passa por, como é que eu faço primeiro a agregação do email associados a uma lista de distribuição X se mailto só funciona na tag <a> e é chamada quando clico. Ou estou a pensar mal!? Obrigado pela ajuda desde já. Vicente Link to comment Share on other sites More sharing options...
Ivo Vicente Posted January 14, 2023 at 04:16 PM Report Share #629765 Posted January 14, 2023 at 04:16 PM Viva @Wionon Sem mais detalhes do projeto ou do objetivo do teu código, fica mais complicado perceber qual a melhor decisão. A Tag <a> com opção mailto deve ser uma solução simples, o que estas a explicar já não é simples para uma simples tag. As listas são para o utilizador enviar email? Porque não fazer logo o envio do email pelo servidor? Se fizeres pelo servidor, basta identificar a lista pretendida, e enviar o email. Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
Wionon Posted January 15, 2023 at 04:42 PM Author Report Share #629774 Posted January 15, 2023 at 04:42 PM Boas Ivo Vicente, Eu não pretendo enviar através email pelo próprio servidor. Mas sim pegar numa lista ou em mais e colocar os endereços no PARA do Outlook. Vicente Link to comment Share on other sites More sharing options...
Ivo Vicente Posted January 15, 2023 at 09:26 PM Report Share #629790 Posted January 15, 2023 at 09:26 PM Ok, é uma abordagem pouco convencional, mas podes resolver isso de duas maneiras assim sem pensar muito no assunto. 1ª Faz a listagem de todas as listas de distribuição, em que constróis a lista de links com mailto para cada uma das listas de distribuição, o utilizador clica na que pretende. 2ª Podes criar um caixa de seleção (tag select) com as listas de distribuição como id, e depois num formulário para enviar email a essa lista através de POST passas o id da lista de distribuição e vais buscar os emails dessa lista, e crias o <a mailto="....."> Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
Wionon Posted January 17, 2023 at 11:35 AM Author Report Share #629823 Posted January 17, 2023 at 11:35 AM Muito Obrigado Ivo Vicente. Vicente Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now