Ir ao conteúdo

Problema no Alterardb


ferpalma

Posts recomendados

Postado

Boa tarde, estou com o seguinte problema estou fazendo um cadastro PHP e MySQL.

O visualizar e o excluir funcionam perfeitamente mas o alterar não consigo salvar as mudanças no banco... alguem pode me ajudar?

Eis os códigos:

visualizar_locais.php (funcionando)

<?php

session_start();

?>

<html>

<head>

<u></u><title>Visualização de Locais necessitados</title>

</head>

<body>

<table border="0" width="100%" cellpadding="0" cellspacing="0">

<tr>

<td width="820" height="3" colspan="3" style="background-color: #000080"> </td>

</tr>

<tr>

<td width="100" bgcolor="#0000FF" valign="top">

<br><br>

<a href="principal.php">

<img src="imagens/principal.jpg" width="90" height="36"></a>

<br><br>

<a href="veiculos.php">

<img src="imagens/veiculos.jpg" width="90" height="36"></a>

<br><br>

<a href="locais.php">

<img src="imagens/locais.jpg" width="90" height="36"></a>

<br><br>

<a href="atendimento0.php">

<img src="imagens/atendimento.jpg" width="90" height="36"></a>

<br><br>

<a href="index.php">

<img src="imagens/sair.jpg" width="90" height="36"></a>

<br><br>

</td>

<td width="700" align="top">

<p align="center"><br><br><br>

Os <font size="4">LOCAIS</font> necessitados neste momento são:</font></p>

<?php

include ("conectar.php"); //conecta com o bd

$visualizar = mysql_query("SELECT * FROM locais") or die("erro ao selecionar");

$resultado = mysql_query($visualizar);

$linha = mysql_num_rows ($visualizar);

mysql_query($visualizar);

echo "<table border='1' width='100%'><tr><td><b>Código</b></td><td><b>Nome</b></td><td><b>Importância</b></td><td><b>Qtde_clientes</b></td>";

echo "<td><b>Latitude</b></td><td><b>Longitude</b></td><td><b>Necessidade</b></td><td><b>Tempo_restabelecimento</b><td><b>Status</b></td></td></tr>";

while ($linha = mysql_fetch_array ($visualizar)){

echo "<tr><td>{$linha['codigo']}</td>";

echo "<td>{$linha['nome']}</td>";

echo "<td>{$linha['importancia']}</td>";

echo "<td>{$linha['qtde_clientes']}</td>";

echo "<td>{$linha['latitude']}</td>";

echo "<td>{$linha['longitude']}</td>";

echo "<td>{$linha['necessidade']}</td>";

echo "<td>{$linha['tempo_restabel']}</td>";

echo "<td>{$linha['status']}</td></tr></br>";

}

echo "</table>";

?>

<form action="alterar_locais.php" name="alterar_locais" method="post">

<p align="center"><br>

Caso deseje <font size="4"> ALTERAR</font> algum dos locais listados acima, digite seu Código abaixo:</p>

<div align="center"><center>

<input type="text" name="codigo" size="5"><br><br>

<input type="submit" value="Alterar Local"><br>

</form>

<form action="excluir_locais.php" name="excluir_locais" method="post">

<p align="center"><br>

Caso deseje <font size="4"> EXCLUIR</font> algum dos locais listados acima, digite seu Código abaixo:</p>

<div align="center"><center>

<input type="text" name="codigo" size="5"><br><br>

<input type="submit" value="Excluir Local"><br>

</form>

</p>

<form action="locais.php" name="principal" method="post">

<p align="center"><br>

Caso esteja satisfeito com os locais listados acima retorne à página anterior <a href=locais.php>Clicando aqui</a></p>

</form>

<div align="left"><left>

<tr>

<td width="820" bgcolor="#000099" colspan="3">

<p align="center"><font color="#FFFFFF"><i>SIGGENELM</i></font></td></tr>

</table>

</body>

</html>

excluir.php (funcionando)

<?php

$erro=0;

include ("conectar.php");//conexão com o db

$codigo = $_POST['codigo'];

$confere = mysql_query ("SELECT * FROM locais WHERE (codigo = '".$codigo."')") or die(mysql_error());

$linhas = mysql_num_rows($confere);

if ((empty ($codigo)) || ($linhas == 0)){

echo "Sua exclusão não foi efetuada devido a um desses fatores:<br>";

echo "O sistema não possui locais cadastrados no momento.<br>";$erro=1;

echo "Você deve digitar um número de código para realizar a exclusão.<br>";$erro=1;

echo "Você deve digitar somente números de códigos que aparecem na visualização!<br>";$erro=1;

echo "<a href=visualizar_locais.php>Tente novamente!</a>";

}

else{

$excluir = mysql_query ("DELETE FROM locais WHERE (codigo = '".$codigo."')") or die(mysql_error());

if($excluir)

echo "Exclusão de local realizada com sucesso!";

echo "<form action=visualizar_locais.php name=principal method=post>";

echo "<input type=submit value=Visualizar Locais>";

echo "</form>";

}

?>

alterar_locais.php (funcionando)

<?php

session_start();

?>

<html>

<head>

<u></u><title>Alteração de Locais </title>

</head>

<body>

<table border="0" width="100%" cellpadding="0" cellspacing="0">

<tr>

<td width="820" height="3" colspan="3" style="background-color: #000080"> </td>

</tr>

<tr>

<td width="100" bgcolor="#0000FF" valign="top">

<br><br>

<a href="principal.php">

<img src="imagens/principal.jpg" width="90" height="36"></a>

<br><br>

<a href="veiculos.php">

<img src="imagens/veiculos.jpg" width="90" height="36"></a>

<br><br>

<a href="locais.php">

<img src="imagens/locais.jpg" width="90" height="36"></a>

<br><br>

<a href="atendimento0.php">

<img src="imagens/atendimento.jpg" width="90" height="36"></a>

<br><br>

<a href="index.php">

<img src="imagens/sair.jpg" width="90" height="36"></a>

<br><br>

</td>

<td width="700" align="top">

<p align="center"><br><br><br>

De acordo com o código escolhido o <font size="4">LOCAL</font> para ser alterado é:</font></p>

<?php

include ("conectar.php"); //conecta com o bd

$codigo = $_POST['codigo'];

$visualizar = mysql_query("SELECT * FROM locais WHERE (codigo = '".$codigo."')") or die("erro ao selecionar");

$resultado = mysql_query($visualizar);

$linha = mysql_num_rows ($visualizar);

mysql_query($visualizar);

echo "<table border='1' width='100%'><tr><td><b>Código</b></td><td><b>Nome</b></td><td><b>Importância</b></td>";

echo "<td><b>Status</b></td></td></tr>";

while ($linha = mysql_fetch_array ($visualizar)){

echo "<tr><td>{$linha['codigo']}</td>";

echo "<td>{$linha['nome']} </td>";

echo "<td>{$linha['importancia']}</td>";

echo "<td><input type=text name=status size=2 value={$linha['status']}></td></tr></br>";

}

echo "</table>"; //$sql = "UPDATE locais" SET .$_POST['status']. WHERE status = .$_POST['novo_status'].;

?>

<br>

<form action="alterar_locais1.php" name="principal" method="post">

<div align="center"><center>

<input type="submit" value="Confirmar Alteração"><br>

</form>

<form action="visualizar_locais.php" name="principal" method="post">

<p align="center"><br>

Caso <b>NÃO</b> queira alterar o local listado acima retorne à página anterior <a href=visualizar_locais.php>Clicando aqui</a></p>

</form>

<div align="left"><left>

<tr>

?>

<td width="820" bgcolor="#000099" colspan="3">

<p align="center"><font color="#FFFFFF"><i>SIGGENELM</i></font></td></tr>

</table>

</body>

</html>

alterar_locais1.php (problema, o status que eu quero mudar de 1 para 0, essa alteração NÃO é salva)

<?php

$erro=0;

include ("conectar.php");//conexão com o db

$visualizar = mysql_query("SELECT * FROM locais ") or die("erro ao selecionar");

$resultado = mysql_query($visualizar);

$linha = mysql_num_rows ($visualizar);

mysql_query($visualizar);

if ((empty ($status)) || ($linhas == 0)){

echo "Sua alteração não foi efetuada devido a um desses fatores:<br>";

echo "Você não pode deixar o campo em branco.<br>";$erro=1;

echo "Você deve digitar somente números!<br>";$erro=1;

echo "<a href=visualizar_locais.php>Tente novamente!</a>";

}

else{

$alterar = mysql_query ("UPDATE locais SET ($ status = '".$status."') ") or die(mysql_error());

if($alterar)

echo "Alteração de local realizada com sucesso!";

echo "<form action=visualizar_locais.php name=principal method=post>";

echo "<input type=submit value=Visualizar Locais>";

echo "</form>";

}

?>

Os erros que estão ocorrendo são:

Notice: Undefined index: status in C:\ms4w\Apache\htdocs\siggenelm\alterar_locais1.php on line 6

Notice: Undefined variable: codigo in C:\ms4w\Apache\htdocs\siggenelm\alterar_locais1.php on line 13

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(codigo = '')' at line 1

Eu quero exibir 4 campos (codigo, nome, importancia e status), mas so deixar para alterar o status, de 1(apto) 0 (inapto)

1 while ($linha = mysql_fetch_array ($visualizar)){

2 echo "<tr><td>{$linha['codigo']}</td>";

3 echo "<td>{$linha['nome']} </td>";

4 echo "<td>{$linha['importancia']}</td>";

5 echo "<td><input type=text name=status size=2 value={$linha['status']}></td></tr></br>";

6 }

7 echo "</table>";

8 ?>

9

10

11 <br>

12<form action="alterar_locais1.php" name="principal" method="post">

13<div align="center"><center>

14<input type="submit" value="Confirmar Alteração"><br>

15</form>

A partir da linha 5 acima (onde o banco mostra o registro com o status 1 permitindo que seja alterado) é que deve estar acho eu o problema todo...

Quando eu clico em Confirmar Alteração é que a alteração não é efetuada...

Por favor é urgente!!!:(

Postado

Olá amigo, não sei se é exatamente isso, mas pelo que eu vi um dos erros é o seguinte, como você descreveu:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(codigo = '')' at line 1

Na variavel que recebe o código e em outras, tem mais de uma aspa. Pelo que eu vi tem simples e duplas. Não sei bem porque está assim, mas acho que seja isso.

A variavel não consegui receber o conteudo por causa disso.

$visualizar = mysql_query("SELECT * FROM locais WHERE (codigo = '".$codigo."')") or die("erro ao selecionar");

Tenta alterar isso e me diz se deu certo, caso não; vou dar mais uma olhada.

Espero que você consiga. boa sorte!:lol:

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...