Ir para conteúdo
Fórum Script Brasil
  • 0

Duvidas Com Update


Daniel Morsoleto

Pergunta

fala aí galera

então estou fazendo uma pagina de edição para uma tabela de produtos. Eu fiz uma pagina que lista todos os produtos que tenho e do lado existem dois botoes o excluir e editar. Quando se clica no editar chama a pagina "edita.php". Nessa pagina existem 3 campos de textos onde deveria puxar os textos do qual eu apertei editar. Mas ele só aparece um "S" na caixa de texto, eu não sei porque. Abaixo segue o codigo que estou utilizando na pagina de update. São dois exemplos dos meu campos. Se alguém pude me ajudar, valews!!!

<?php

require "config.php";

$sql = "SELECT * FROM motoreseletricos;";

?>

<tr>

<td width="145">Nome</td>

<td width="245"><input name="nome" type="text" id="nome" maxlength="45" class="textBox" value="<?php echo $sql["nome"]; ?>" /></td>

</tr>

<tr>

<td>Email</td>

<td><input name=email" type="text" id="email" maxlength="64" class="textBox" value="<?php echo $sql["caracteristicas]; ?>" /></td>

</tr>

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Você tem que declarar dentro do while os ponteiros do vetor... ou seja:

<?
while ($x = mysql_fetch_array ($sql)){
echo"<form name='form2' id='form2' method='post' action=''>
<input name='textfield' type='text' value=$x['nome']; ?>/>
</form>";
}
?>

Coloquei o form inteiro dentro do laço porque seu SELECT parece selecionar uma pilha de coisa...

Link para o comentário
Compartilhar em outros sites

  • 0

então consegui mas ele escreve o mesmo produto para todos, ele tinha que escrever de acordo com o produto que o cliente clicasse em editar! alguém sabe porque?

Todos os produtos tem o bt editar e todos levam para essa pagina editar.php. Ficou assim o codigo do editar.php:

<?

require"config2.php";

$sql = mysql_query ("SELECT * FROM motoreseletricos");

?>

<?

while ($x = mysql_fetch_array ($sql)){

$dados = $x['nome'];

}

?>

<form name="form2" id="form2" method="post" action="">

<input name="textfield" type="text" value="<?php echo $dados ?>" />

</form>

Link para o comentário
Compartilhar em outros sites

  • 0

Mas é claro que ele escreve tudo, olha o seu Select:

$sql = mysql_query ("SELECT * FROM motoreseletricos");

Cade a cláusula WHERE? Aconselho você ao montar a página que tem o botão de editar incluir nele algo que possa ser usado na WHERE (tipo o ID do produto).

Dai você ao ir para a editar pega por $_POST/$_GET a informação e joga no WHERE

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, é mais ou menos isso.... LEMBRE-SE de pegar o $id ANTES:

$id = $_GET['id'];

ou concatear o ID direito não query.

Ah! e colocar a variável entre ' '

$sql = mysql_query ("SELECT * FROM motoreseletricos WHERE id_motoreletrico = '$id'");

Link para o comentário
Compartilhar em outros sites

  • 0

beleza o id ele esta pegando, pois na barra de endereço que não aparecia nada agora aparece o numero do produto, e quando clico em outro ele troca, mas o mais importante não está rolando, agora nada aparece nos textfields!! Olha como fico meu codigo depois das alterações:

Editar.php:

<?

require"config2.php";

$sql = mysql_query ("SELECT * FROM motoreseletricos where id_motoreletrico = '$id'");

?>

<?

$id = $_GET["id"];

while ($x = mysql_fetch_array ($sql)){

$dados = $x['nome'];

$dadoscara = $x['caracteristicas'];

}

?>

<form name="form2" id="form2" method="post" action="">

<input name="textfield" type="text" value="<?php echo $dados ?>" />

<input name="textfield" type="text" value="<?php echo $dadoscara ?>" />

</form>

Link para o comentário
Compartilhar em outros sites

  • 0

Eu disse pra pegar o $id ANTES:

<?
require"config2.php";
$id = $_GET["id"]; // NÃO DÁ PRA FAZER A PESQUISA SE O TERMO DELIMITADOR TÁ DEPOIS!!!
$sql = mysql_query ("SELECT * FROM motoreseletricos where id_motoreletrico = '$id'");
while ($x = mysql_fetch_array ($sql)){
$dados = $x['nome'];
$dadoscara = $x['caracteristicas'];
}
?>
<form name="form2" id="form2" method="post" action="">
<input name="textfield" type="text" value="<?php echo $dados ?>" />
<input name="textfield" type="text" value="<?php echo $dadoscara ?>" />
</form>

E verifique se o nome da coluna que guarda o ID do produto é realmente id_motoreletrico (só pra evitar mais problemas).

Link para o comentário
Compartilhar em outros sites

  • 0

to com outro problema agora, ele está abrindo certinho os produtos e está editando, mas na hora que mando ele salvar ele diz que salvo, mas não muda nada no mysql.

O botao salvar esta chamando a pagina update.php, que é responsavel por inserir a atualização no bd. Segue o codigo da pagina update:

<?php

require_once('config2.php');

$id = $_POST['id'];

$nome = $_POST['nome'];

$caracteristicas = $_POST['caracteristicas'];

$aplicacoes = $_POST['aplicacoes'];

$query = "UPDATE motoreseletricos SET nome='$nome', caracteristicas ='$caracteristicas', aplicacoes = '$aplicacoes' WHERE id_motoreletrico = '$id'";

$sql = mysql_query($query);

echo 'sucesso=' . $sql;

?>

<a href="exibir.php">Voltar</a>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...