Kelven 1 Denunciar post Postado Maio 24, 2010 Gente, fiz um formulario de alteração olha ele aqui: <?php $sql = "SELECT * FROM cadastronormal "; $query = mysql_query($sql); while ($resultado = mysql_fetch_array($query)) { echo " <tr> <td> {$resultado[nome_completo]}</td> <td> {$resultado[email]}</td> <td><form action="cadastro_normal" name="{$resultado[id_cliente]}"><input type=\"submit\" name=\"alterar\" value=\"Alterar\"></form> </td> <td><form><input type=\"submit\" name=\"excluir\" value=\"Excluir\"></form></td> </tr>"; } ?> o problema é que eu preciso que esse formulário quando eu clicar em alterar que ele chame uma página que ja ta no action do form, mas quando eu faço isso que ta ai en cima não da certo, da erro na linha que ta o action, eu preciso que chame aquela pagina e também que o nome de cada butão gerado seja pelo id_cliente, que é o que esta no banco de dados, o que que eu posso fazer? Compartilhar este post Link para o post Compartilhar em outros sites
GabrielFerrari 41 Denunciar post Postado Maio 24, 2010 Quando se precisa usar aspas(") dentro de aspas(") deve ser substituido por aspas simples (') exemplo: echo " <input type='text' name='nome' "; ou se for o caso de concatenar echo "Esse é um exemplo" . $VARIAVEL . " de concatenação"; então tente dessa maneira while ($resultado = mysql_fetch_array($query)) { echo " <tr> <td> {$resultado[nome_completo]}</td> <td> {$resultado[email]}</td> <td><form action='cadastro_normal' name='{$resultado[id_cliente]}'><input type=\"submit\" name=\"alterar\" value=\"Alterar\"></form> </td> <td><form><input type=\"submit\" name=\"excluir\" value=\"Excluir\"></form></td> </tr>"; } Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 24, 2010 Quando se precisa usar aspas(") dentro de aspas(") deve ser substituido por aspas simples (') exemplo: echo " <input type='text' name='nome' "; Gabriel, seu primeiro exemplo gera uma marcação XHTML inválida. Se ele estiver trabalhando sob tal, causará erros. Os demais cobrem perfeitamente a necessidade. Só mais uma adição de minha preferência: Quando temos blocos muito grandes de uma linguagem paralela ao PHP, opto por utilizar o modo HEREDOC: while(false !== ($resultado = mysql_fetch_array($query))) { echo <<<HTML <tr> <td> {$resultado[nome_completo]}</td> <td> {$resultado[email]}</td> <td><form action="cadastro_normal.php" name="{$resultado[id_cliente]}"><input type="submit" name="alterar" value="Alterar"></form></td> <td><form><input type="submit" name="excluir" value="Excluir"></form></td> </tr> HTML; } Compartilhar este post Link para o post Compartilhar em outros sites
jpraminelli 3 Denunciar post Postado Maio 24, 2010 quando tem algum trecho html dentro de um laço eu costumo separar as coisas. você pode tentar tbm, o codigo fica mais claro. ex: while ($resultado = mysql_fetch_array($query)) { // fecha o php, mas o laço continua aberto ?> <tr> <td> <? echo {$resultado[nome_completo]} ?> </td> </tr> <? } // fim do laço aberto ?> assim você evita problemas de aspas dentro do echo, e tbm os trechos html apareceram no layout desgner do dreamweaver. Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 25, 2010 umm vou testar com cada opção Gente olha só vou mostrar direitinho o que eu quero fazer, é um formulario de altarar que quando exibe os clientes em uma pagina inicial e na outra e depois quando eu clico no input altera ele chama pela action desse formulario uma outra pagina que deve conter todas as informações desse cliente mas tentei e não deu certo olha só como é que eu fiz na parte que vai chamar o outro formulario: <form action='cadastro_normal.php' method='post'> <?php $sql = "SELECT * FROM cadastronormal "; $query = mysql_query($sql); while ($resultado = mysql_fetch_array($query)) { echo " <tr> <td> $resultado[nome_completo]</td> <td> $resultado[email]</td> <td><input type=\"submit\" name='{$resultado[id_cliente]}' value=\"Alterar\"> </td> <td><input type=\"submit\" name=\"excluir\" value=\"Excluir\"></td> </tr>"; } ?> </form> e na pagina chamada eu fiz assim: <?php include ("conexao.php"); $nome_alterar = $_POST["resultado"]; $sql = "SELECT * FROM cadastronormal WHERE nome_completo='$nome_completo'"; $resultado = mysql_query($sql) or die ("não foi possivel alterar o cliente"); $linha = mysql_fetch_array($resultado); $codigo = $linha[id_cliente]; $nome_completo = $linha[nome_completo]; $data_de_nascimento = $linha[data_de_nascimento]; $cpf_cnpj = $linha[cpf_cnpj]; $sexo = $linha[sexo]; $cidade = $linha[cidade]; $estado = $linha[estado]; $pais = $linha[pais]; $telefone_residencial = $linha[telefone_residencial]; $telefone_residencial2 = $linha[telefone_residencial2]; $telefone_celular = $linha[telefone_celular]; $telefone_celular2 = $linha[telefone_celular2]; $email = $linha[email]; $nome_do_site = $linha[nome_do_site]; $publico_alvo = $linha[publico_alvo]; $objetivo_do_site = $linha[objetivo_do_site]; $logo= $linha[logo]; $sem_logotipo = $linha[sem_logotipo]; $o_site_tem_que_ter = $linha[o_site_tem_que_ter]; $conteudo_em_foco = $linha[conteudo_em_foco]; $sites_de_concorrentes = $linha[sites_de_concorrentes]; ?> e coloquei em cada formulario um campo com o value em php indicando cada um dessas variaveis ai em cima, olha só um exemplo: <form enctype="multipart/form-data" method="post"> <input name="nome_completo" type="text" class="form" size="30" id="nome_completo" value="<?php echo $nome_completo ?>"/> </form> o proble é que não funcionou, como é que eu devo chamar as informações do banco de dados pelo input que tem la na primeira pagina? gente algem sabe a melhor forma de chamar esses arquivos? Compartilhar este post Link para o post Compartilhar em outros sites
GabrielFerrari 41 Denunciar post Postado Maio 25, 2010 troque o $resultado = mysql_query($sql) or die ("não foi possivel alterar o cliente"); por $resultado = mysql_query($sql) or die (mysql_error()); E informe o erro que ele mostra Compartilhar este post Link para o post Compartilhar em outros sites