Uma pergunta, esse é o seu código todo? Pq o erro diz que você tem um erro de sintaxe.
arrume essa linha sql="select * from turmas Where ID=.$id;
mude para isso sql="select * from turmas Where ID =" . $id;
ou sql="select * from turmas Where ID = {$id} ";
Poste seu código todo para podermos analisar melhor blz…
Abs
D
diogorsc
Mas esse é o código todo do editar. Qual codigo quer mais? Tenho o de gravar, o de listar e o que liga a base de dados para adicionar
amartinss
Posta o seu form todo… eu acredito que esse erro possa estar nele por se tratar de um POST inexperado… pode ser que na sua tag de abertura do form vc esteja enviando como POST mas está recebendo o $id como GET…
Mas a certeza só teria ao ver esse código…
D
diogorsc
Aqui ta o meu listar:
<?PHP$ligacao=mysql_connect("localhost","DiogoCastro","esmspgsi2");$esms=mysql_select_db("esms",$ligacao);$sql="select * from turmas";$resultado=mysql_query($sql,$ligacao);?><head></head><tableborder="1"><tr><th><fontcolor="blue">ID:</font></th><th><fontcolor="blue">Nome:</font></th><th><fontcolor="blue">Numero:</font></th><th><fontcolor="blue">Turma:</font></th></tr><?phpwhile($row=mysql_fetch_array($resultado)):?><tr><td><fontcolor="black"><?phpechoutf8_encode($row['ID']);?></font></td><td><fontcolor="black"><?phpechoutf8_encode($row['Nome']);?></font></td><td><fontcolor="black"><?phpecho$row['Num'];?></font></td><td><fontcolor="black"><?phpechoutf8_encode($row['Turma']);?></font></td><td><ahref="editar.php?num=<?phpecho$row['ID']?>">Editar</a></td><td><ahref="eliminar.php?num=<?phpecho$row['ID']?>">Eliminar</a></td></tr>
<?php endwhile; ?>
ai se reparar tem um link po editar e vai po editar.php que é o código que pos em cima.
D
diogorsc
O que falta no editar é isto:
Body
form method=“POST” Action=“gravar.php”>
falta os <> no body e no primeiro form
amartinss
Bom o que percebi aqui é que você não tem um $_GET["ID"]… você está enviando via get um “num” (?num)
Mude seu $_GET["ID"] para $_GET["num"] e ve se para esse erro…
D
diogorsc
Agora da este erro
Parse error: syntax error, unexpected ‘=’ on line 7
que é esta linha:
sql=“select * from turmas Where ID=”.$id;
PS: no listar em vez de por ?num por ?id, logo tou a usar o id e não o num, foi um erro ao por o num em vez do id
amartinss
Faltou o $ no sql ficando $sql
D
diogorsc
agora aparece no editar estes erros:
Notice: Undefined index: ID in C:\xampp\htdocs\diogocastro\editar.php on line 3
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\diogocastro\editar.php on line 9
o Id é a chave primaria não sei se o problema é disso, mas também como não quero mudar o valor do ID tirolo do form.
amartinss
Notice: Undefined index: ID in C:\xampp\htdocs\diogocastro\editar.php on line 3
troque esse código:
$id=$_GET['ID'];
por esse
$id=$_GET['id'];
Provavelmente você está mandando o ?id minúsculo, o $_GET é case sensitive o que significa que diferencia maiúsculas e minúsculas.
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean
given in C:\xampp\htdocs\diogocastro\editar.php on line 9
Tem algumas possibilidades, verifique primeiro se você está passando os parâmetros corretamente para os métodos mysql_connect e mysql_select_db, depois verifique se o nome do campo ID está realmente em caixa alta, case sensitive para esse caso.
Lembrando que $aluno também irá ter a associação da mesma forma que está no banco, ou seja se ID no banco estiver caixa baixa então sua associação ficará $aluno[“id”]
D
diogorsc
No editar já não aparece nenhum erro. Muito obrigado, mas tenho mais um problema não me grava.
Este é o php que tenho de gravar, não me aparece nenhum erro, nem sei o porque de não me gravar
<?php
$id=$_GET['id'];
$ligacao = mysql_connect ("localhost","DiogoCastro","esmspgsi2");
$esms=mysql_select_db ("esms",$ligacao);
$nome=$_POST['txtNome'];
$num=$_POST['txtNum'];
$turma=$_POST['txtTurma'];
$sql="Update turma Set
Nome=$nome,
Num=$num,
Turma=$turma WHERE ID=".$id;
$resultado=mysql_query($sql,$ligacao);
header('Location:Listar.php');
?>
amartinss
Primeiro verifique no arquivo do form dos $_POST como está o atributo name, case sensitive para este caso também.
depois altere isso:
$sql="Update turma Set Nome=$nome, Num=$num, Turma=$turma WHERE ID=".$id;
para isso:
$sql="Update turma Set Nome=".$nome.", Num=".$num.", Turma=".$turma." WHERE ID=".$id;
D
diogorsc
Continua sem dar…
JuniorMaia
$sql=“update turma set Nome=’$nome’, Num=’$num’, Turma=’$turma’ WHERE ID=’$id’”;