gmps 0 Denunciar post Postado Junho 21, 2007 galera eu tenho: $mensagem = str_replace('{TURBINE_EMAIL}', $turbine_email, $mensagem);$mensagem = str_replace('{TURBINE_NOME}', $turbine_nome, $mensagem);$mensagem = str_replace('{TURBINE_TEL_RES}', $turbine_tel_res, $mensagem);$mensagem = str_replace('{TURBINE_TEL_COM}', $turbine_tel_com, $mensagem); como eu faço para jogar dentro de um foreach para nao ter q ir fazendo um por um? foreach($_POST as $key => $valor) {? } Compartilhar este post Link para o post Compartilhar em outros sites
ze_violeiro 0 Denunciar post Postado Junho 21, 2007 um conselho http://smarty.php.net tem documentação em português, acho que é o que tu ta tentando fazer... Compartilhar este post Link para o post Compartilhar em outros sites
gmps 0 Denunciar post Postado Junho 22, 2007 mas como que eu faço isso automatico? tipo eu tenho: $q = "SELECT * FROM turbine WHERE BINARY turbine_email = '{$turbine_email}' ORDER BY turbine_id DESC LIMIT 1;"; $r = mysql_query($q); $reg = mysql_fetch_array($r); @extract($reg); $email = email(3); $assunto = $email['email_assunto']; $mensagem = $email['email_mensagem']; $mensagem = str_replace('{TURBINE_EMAIL}', $turbine_email, $mensagem); $mensagem = str_replace('{TURBINE_NOME}', $turbine_nome, $mensagem); $mensagem = str_replace('{TURBINE_TEL_RES}', $turbine_tel_res, $mensagem); $mensagem = str_replace('{TURBINE_TEL_COM}', $turbine_tel_com, $mensagem); faltou pedaço do codigo, queria tirar esses $mensagem e deixar dentro do foreach, pq tem varios campos.... =/ Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Junho 22, 2007 Pode ser usado array com a função str_replace. Um exemplo: $mensagem = str_replace(array('{TURBINE_EMAIL}', '{TURBINE_NOME}', '{TURBINE_TEL_RES}', '{TURBINE_TEL_COM}'), array($turbine_email, $turbine_nome, $turbine_tel_res, $turbine_tel_com) , $mensagem); Mas, pelo que entendi, você queria usar um laço e usar os nomes dos campos, certo? Assim você teria que ter o nome dos campos igual ao que está entre as chaves, como NOME_DO_CAMPO e {NOME_DO_CAMPO}. []s Anderson Mello Compartilhar este post Link para o post Compartilhar em outros sites
gmps 0 Denunciar post Postado Junho 22, 2007 sim...eu tenho os nomes iguais.. Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Junho 22, 2007 Pra substituir então com foreach, pode fazer algo como: $reg = mysql_fetch_array($r);foreach ($reg as $chave => $valor) { $mensagem = str_replace("{$chave}", $valor, $mensagem);} Assim você substitui em $mensagem, os nomes dos campos (entre as chaves) pelo seu respectivo valor. Se precisar fazer algum tipo de validação, pode ser feita dentro do laço. []s Anderson Mello Compartilhar este post Link para o post Compartilhar em outros sites