Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kelven

colocar o nome de um form um id

Recommended Posts

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.