Jump to content


Photo

Updateee Nao Funciona!


  • Faça o login para participar
45 replies to this topic

#31 bobmatador

bobmatador

    12 Horas

  • Usuários
  • 210 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 28/06/2006, 10:34

useii
mas nao conseguiii!!
cara eh muito estranhoo isso

porque assim oh: quando eu faço a consulta na index.php, eu exibo o codigo fonte e aparece a ID normal do registro

mais quando eu clico editar ela nao editaaa no banco de dadoss !!!

GRRR!

o que sera?
Sua fonte de Tutoriais na Web!
TutoriaisClube.com

#32 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 28/06/2006, 10:44

Pela query que você mostrou, ficou óbvio que está faltando a peça chave para a query funciona, que é a identificação do registro a ser modificado.

Enfim, se não está pegando este valor, basta você verificar no seu código, onde ele não está aparecendo, verificar a variável usada, ... revirar no que diz respeito a informação do 'id'.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#33 bobmatador

bobmatador

    12 Horas

  • Usuários
  • 210 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 28/06/2006, 10:49

blza neah!
vo fazer isto de novo =/

mas serio tah tudo certinhooo mas nao custaa nada fazer de volta
index.php
$sql_busca_matricula = 'select * from intranet where Matricula="'.$Matricula.'"';
$recebe_id = $dados_matricula['ID'];
<input type="hidden" name="id" value="'.$recebe_id.'">';


editar.php
$ID = $_POST['ID'];
$alterar = "UPDATE intranet SET Superior = '".$_POST['Superior']."' WHERE ID='.$ID or die(mysql_error())";

mas tudo beimm,
obrigadoo assim mesmo aew
vamos verr neah!
=P
Sua fonte de Tutoriais na Web!
TutoriaisClube.com

#34 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 28/06/2006, 10:55

Mais uma vez, esse or die(mysql_error()) não deveria estar ai. (y)
Se logo abaixo você está fazendo assim:
mysql_query($alterar);
É nesta linha que você deve colocar isso como maneira de encontrar erro.

Flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#35 bobmatador

bobmatador

    12 Horas

  • Usuários
  • 210 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 28/06/2006, 11:17

tirei este error agora tah assim


$alterar = "UPDATE intranet SET Nome = '".$_POST['Nome']."',Ramal = '".$_POST['Ramal']."',email = '".$_POST['email']."',Setor = '".$_POST['Setor']."',Matricula = '".$_POST['Matricula']."',CCusto = '".$_POST['CCusto']."',Sala = '".$_POST['Sala']."',Coletor = '$Col',Administrador = '$Administrador', Superior = '".$_POST['Superior']."', Tercerizado = '".$_POST['Tercerizado']."' WHERE ID='.$ID'";
mysql_query($alterar);




e mesmo assim nao responde.
cara seriooo !!

nao sei o que fazer mais com esteee PHP!!! akii
AHHHHHHHHHH
=P

o que seraaa?
Sua fonte de Tutoriais na Web!
TutoriaisClube.com

#36 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 28/06/2006, 11:36

Só te falta atenção no que faz. ;-)
Você colocou um ponto alí antes do $ID. Fica assim essa última parte:
...WHERE ID='$ID'";

Flws...
(y)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#37 bobmatador

bobmatador

    12 Horas

  • Usuários
  • 210 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 28/06/2006, 11:51

sim
tireiii o pontoo
e nada mudou!
permaneceee assim o echo $alterar

UPDATE intranet SET Nome = 'AA',Ramal = '10',email = 'Aa',Setor = '1',Matricula = '10',CCusto = '10',Sala = '10',Coletor = '1',Administrador = '1', Superior = 'on', Tercerizado = '0' WHERE ID=''
UPDATE intranet_permissoes SET Almoxarifado='1', Master='1', Requisicoes='1', Superior='1', Coletor='1', Administrador = '1' WHERE usuario='Aa'
Sua fonte de Tutoriais na Web!
TutoriaisClube.com

#38 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 28/06/2006, 11:57

Então o problema é com aquele $recebe_id que nao tem nada.
Coloca seu código do formulário e editar ae. Se possível, organizado nas tags [code=auto:0].. ;)

Flws...Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#39 bobmatador

bobmatador

    12 Horas

  • Usuários
  • 210 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 28/06/2006, 12:06

<?php
clearstatcache();
session_start();
ignore_user_abort(true);
require('../variaveis.inc.php');
require('../funcoes.inc.php');
require('../consiga.inc.php');

if(! $_SESSION["Intranet_Usuario"]){
header("Location: ../intranet_login.php?form[Pagina]=cad_usuario2");
die();
}
include "dbconnect.php" ;
$Matricula = $_POST['Matricula'];

if (!empty($Matricula)) {

$sql_busca_matricula = 'select * from intranet where Matricula="'.$Matricula.'"';
$resultado_matricula = mysql_query($sql_busca_matricula);
$dados_matricula = mysql_fetch_array($resultado_matricula);

$recebe_id = $dados_matricula['ID'];
$recebe_matricula = $dados_matricula['Matricula'];
$recebe_nome = $dados_matricula['Nome'];
$recebe_sala = $dados_matricula['Sala'];
$recebe_setor = $dados_matricula['Setor'];
$recebe_setor2 = $dados_matricula['Setor2'];
$recebe_ccusto = $dados_matricula['CCusto'];
$recebe_email = $dados_matricula['email'];
$recebe_ramal = $dados_matricula['Ramal'];
$recebe_superior = $dados_matricula['Superior'];
$recebe_tercerizado = $dados_matricula['Tercerizado'];

list ($usuario)= explode("@",$recebe_email);

$sql_busca_permissoes = 'select * from intranet_permissoes where Usuario="'.$usuario.'"';
$resultado_permissoes = mysql_query($sql_busca_permissoes);
$dados_permissoes = mysql_fetch_array($resultado_permissoes);

$permissao_coletor = $dados_permissoes['Coletor'];
$permissao_superior = $dados_permissoes['Superior'];
$permissao_administrador = $dados_permissoes['Administrador'];
$permissao_master = $dados_permissoes['Master'];
$permissao_requisicoes = $dados_permissoes['Requisicoes'];
$permissao_almoxarifado = $dados_permissoes['Almoxarifado'];
}

$Matricula_ctt = substr($_POST['Matricula'],3,6);
$query1 = "SELECT SRA.RA_MAT, SRA.RA_CC FROM SRA010 SRA, CTT010 CTT WHERE SRA.D_E_L_E_T_<>'*' AND SRA.RA_SITFOLH<>'D' AND SRA.RA_MAT = '" . $Matricula_ctt . "' AND CTT.D_E_L_E_T_<>'*' AND CTT.CTT_CUSTO=*SRA.RA_CC";
$query1 .= " UNION SELECT SRA.RA_MAT, SRA.RA_CC FROM SRA040 SRA, CTT010 CTT WHERE SRA.D_E_L_E_T_<>'*' AND SRA.RA_SITFOLH<>'D' AND SRA.RA_MAT = '" . $Matricula_ctt . "' AND CTT.D_E_L_E_T_<>'*' AND CTT.CTT_CUSTO=*SRA.RA_CC";
$query1 .= " UNION SELECT SRA.RA_MAT, SRA.RA_CC FROM SRA080 SRA, CTT010 CTT WHERE SRA.D_E_L_E_T_<>'*' AND SRA.RA_SITFOLH<>'D' AND SRA.RA_MAT = '" . $Matricula_ctt . "' AND CTT.D_E_L_E_T_<>'*' AND CTT.CTT_CUSTO=*SRA.RA_CC";
$result_query1 = mssql_query($query1,$conn) or die (mssql_get_last_message($result_query1));
$dados_result1 = mssql_fetch_array($result_query1);
$recebe_custo_ctt = $dados_result1['RA_CC'];

?>

<html>
<? include "cabecalho.php";?>
<html>
<head>
<title>cadastrar.php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="520" border="1" cellspacing="0" bordercolor="#339900" style="border-collapse: collapse;">
<tr>
<td height="20" align="center" bgcolor="#FFFFFF"><strong><font color="#FF0000" size="1" face="verdana">CADASTRAR
USUARIO</font></strong></td>
</tr>
<tr>
<td><table width="520" border="0" cellpadding="2" cellspacing="0">
<tr bgcolor="#FFFFFF">
<td colspan="2"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<form name="busca_matricula" method="post" action="index.php">
<tr>
<td width="100"><strong><font size="0" face="verdana">Buscar matrícula</font></strong></td>
<td><input name="Matricula" type="text" id="Matricula" size="15"></td>
<td><input type="submit" name="busca_matricula" value="Consulta Matrícula" method="post"></td>


<td height="20" align="left"><strong><font size="1" face="Verdana">Tercerizado</font></strong></td>
<td align="left"><? if (!empty($Matricula)) {
if ($recebe_tercerizado == "1") {
echo '<input name="Tercerizado" type="checkbox" checked>';
} else {
echo '<input name="Tercerizado" type="checkbox">';
}
} else {
echo '<input name="Tercerizado" type="checkbox">';
}
?></td>
</tr>
</form>
</table></td>
</tr>

<?
if (!empty($Matricula)) {
echo '<form name="form2" method="post" action="editar.php">
<input type="hidden" name="id" value="'.$recebe_id.'">';
} else {
echo '<form name="form1" method="post" action="inserir.php">';
}
?>

etc... continuaaa o index.php


EDITAR>PHP
if (strlen($Matricula) > 9) {
echo "Número de matrícula grande demais!";
exit;
}
include"dbconnect.php";
$ID = $_POST['ID'];

list ($usuario)= explode("@",$email);

$sql_busca_setor = 'select * from setor where id="'.$setor.'"';
$resultado_setor = mysql_query($sql_busca_setor) or die(mysql_error());
$dados_setor = mysql_fetch_array($resultado_setor);
$recebe_id2 = $dados_setor['id'];
$recebe_nome = $dados_setor['nome_setor'];

$sql_intranet = 'select * from intranet where ID='.$id;
$rs_intranet = mysql_query($sql_intranet);
$dados_intranet = mysql_fetch_array($rs_intranet);

$Col = isset($_POST['Coletor']) ? "1" : "0";
$Administrador = isset($_POST['Administrador']) ? "1" : "0";
$Terc = isset($_POST['Tercerizado']) ? "1" : "0";

$alterar = "UPDATE intranet SET Nome = '".$_POST['Nome']."',Ramal = '".$_POST['Ramal']."',email = '".$_POST['email']."',Setor = '".$_POST['Setor']."',Matricula = '".$_POST['Matricula']."',CCusto = '".$_POST['CCusto']."',Sala = '".$_POST['Sala']."',Coletor = '$Col',Administrador = '$Administrador', Superior = '".$_POST['Superior']."', Tercerizado = '$Terc' WHERE ID='$ID'";
mysql_query($alterar);
echo $alterar . "<br/>";

$Alm = isset ($_POST['Almoxarifado']) ? "1" : "0";
$Mas = isset ($_POST['Master']) ? "1" : "0";
$Req = isset ($_POST['Requisicoes']) ? "1" : "0";
$Sup = isset ($_POST['Superior']) ? "1" : "0";
$Col2= isset ($_POST['Coletor']) ? "1" : "0";
$Adm = isset ($_POST['Administrador']) ? "1" : "0";
$alterar_permissoes = "UPDATE intranet_permissoes SET Almoxarifado='$Alm', Master='$Mas', Requisicoes='$Req', Superior='$Sup', Coletor='$Col2', Administrador = '$Adm' WHERE usuario='$usuario'";

mysql_query($alterar_permissoes) or die(mysql_error());
echo $alterar_permissoes;

POR FAVOR CARA DA UMA OLHADA NISSO AEW!
Sua fonte de Tutoriais na Web!
TutoriaisClube.com

#40 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 28/06/2006, 12:11

etc... continuaaa o index.php

Eu queria ver era exatamente o formulário INTEIRO que será enviado para editar.php

(y)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#41 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 28/06/2006, 15:56

Só uma dica. ... no caminho do php ... ( eu sei muito pouco ...) mas antes de começar a escrever eu aprendi a ler...

Ajuda muito saber ler ... entender bem a lógica do script e o que cada coisa faz ... mesmo não sabendo como faz ... mas o que tal bloco de código fará.

Depois disso sim comecei a me aventurar ... de outra forma seria muito difícil para mim ... apenas uma sugestão. ;)

Vou tentar ajudar ...

Para vc atualizar no bd os dados que está enviando deve fazer como foi dito aqui neste tópico mil vezes ...

Já é sabido que não está enviando o valor do id para o arquivo que recebe os dados do form e que é responsável pela atualização no bd certo ???

Mas porque isso acontece depois de tantas modificações já efetuadas e nada ??

Veja bem ... você esta enviando o ID desta forma:

print '<input type="hidden" name="id" value="'.$recebe_id.'">';

Deves ler mais o manual sobre a sintaxe básica do php principalmente sobre escape das aspas etc ...

... tente assim:

print "<input type=\"hidden\" name=\"id\" value=\"".$recebe_id."\" />";

Mas veja bem ... apenas analisei este campo do formulário ... seria legal vc verificar todos os campos do teu form. e outras strings tbm para ver se está escapando corretamente as aspas quando é necessário.

depois ...

...receba o ID como já está recebendo porém o que vai dentro dos colchetes deve coincidir o case:

se no iput hidden vc enviou 'id' em minúsculo ... deves recerb em minúsculo tbm aqui com $_POST[]

$ID = $_POST['id'];

Vamos ver no que dá ...

Tomara que de certo ...

(y)Até mais

#42 bobmatador

bobmatador

    12 Horas

  • Usuários
  • 210 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 28/06/2006, 17:12

entao galeraa,
vo postar meu editar.php

<?
if (strlen($Matricula) > 9) {
echo "Número de matrícula grande demais!";
exit;
}
include"dbconnect.php";
$ID = $_POST['id'];

list ($usuario)= explode("@",$email);
$sql_busca_setor = 'select * from setor where id="'.$setor.'"';
$resultado_setor = mysql_query($sql_busca_setor) or die(mysql_error());
$dados_setor = mysql_fetch_array($resultado_setor);
$recebe_id2 = $dados_setor['id'];
$recebe_nome = $dados_setor['nome_setor'];

$sql_intranet = 'select * from intranet';
$rs_intranet = mysql_query($sql_intranet);

$Col = isset($_POST['Coletor']) ? "1" : "0";
$Administrador = isset($_POST['Administrador']) ? "1" : "0";

$alterar = "UPDATE intranet SET Nome = '".$_POST['Nome']."',Ramal = '".$_POST['Ramal']."',email = '".$_POST['email']."',Setor = '".$_POST['Setor']."',Matricula = '".$_POST['Matricula']."',CCusto = '".$_POST['CCusto']."',Sala = '".$_POST['Sala']."', Superior = '".$_POST['Superior']."', Coletor = '$Col',Administrador = '$Administrador' WHERE ID='$ID'" or die(mysql_error());
$rs = mysql_query($alterar);


$Alm = isset ($_POST['Almoxarifado']) ? "1" : "0";
$Mas = isset ($_POST['Master']) ? "1" : "0";
$Req = isset ($_POST['Requisicoes']) ? "1" : "0";
$Sup = isset ($_POST['Superior']) ? "1" : "0";
$Col2= isset ($_POST['Coletor']) ? "1" : "0";
$Adm = isset ($_POST['Administrador']) ? "1" : "0";
$alterar_permissoes = "UPDATE intranet_permissoes SET Almoxarifado='$Alm', Master='$Mas', Requisicoes='$Req', Coletor='$Col2', Administrador = '$Adm' WHERE usuario='$usuario'";
mysql_query($alterar_permissoes) or die(mysql_error());

echo 'Editado com suceeso';
?>


obrigaadooo aee galera do forum!
vc apavoraammm!! ESTE EH O MELHOOOR!!
xP
Sua fonte de Tutoriais na Web!
TutoriaisClube.com

#43 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 28/06/2006, 21:36

pow velho ... o frenesi já te falou mais de 3 vezes sobre o "or die( mysql-error());"

falta de atenção desmotivadora kkkkkkkkkkkkkkkk

... de uma analisada nesta kaka ae ...

Errado ( como está ) :

$alterar = "UPDATE intranet SET Nome = '".$_POST['Nome']."',Ramal = '".$_POST['Ramal']."',email = '".$_POST['email']."',Setor = '".$_POST['Setor']."',Matricula = '".$_POST['Matricula']."',CCusto = '".$_POST['CCusto']."',Sala = '".$_POST['Sala']."', Superior = '".$_POST['Superior']."', Coletor = '$Col',Administrador = '$Administrador' WHERE ID='$ID'" or die(mysql_error());
$rs = mysql_query($alterar);


... perceba que no penúltimo bloco ( parágrafo, digamos assim )

Você coloca esta função em um lugar nada apropriado ...

Forma Correta:

$alterar = "UPDATE intranet SET Nome = '".$_POST['Nome']."', Ramal = '".$_POST['Ramal']."', email = '".$_POST['email']."', Setor = '".$_POST['Setor']."', Matricula = '".$_POST['Matricula']."', CCusto = '".$_POST['CCusto']."', Sala = '".$_POST['Sala']."', Superior = '".$_POST['Superior']."', Coletor = '$Col', Administrador = '$Administrador' WHERE ID='$ID'";
$rs = mysql_query($alterar) or die(mysql_error());


... o frenesi já te deu todas as dicas possíveis mas mesmo assim tu ainda não te ligou ...

... já analisou o que eu disse no meu post anterior tbm ?? ... não neh ...

hehehehe ... acho que tu foi o que mais recebeu ajuda no dia de hoje ... :D

Boa sorte.

(y)Até mais

#44 bobmatador

bobmatador

    12 Horas

  • Usuários
  • 210 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 29/06/2006, 09:22

sim
no post anterior a este CRAB que eu agradeci e talz
quer dizer, que eu acertei !!!
que está funcionando, ahahhaha
nao estou pedindo ajuda de volta. ahaha, mais a questao do mysql_error
analise meu codigo, pode ficar assim mesmo!!
=D
tah funfando
queriaa agradecer soh pela ajuda !!
porqueee consegui fazer, valeu mesmo aiii =D

e boraaaa estudaaa pHP iuhAiuha
xD

soh postei o editar.php
para os membros que quiserem pegar o script rodando certo
para ajudar neahhh!! xP

flowww
Sua fonte de Tutoriais na Web!
TutoriaisClube.com

#45 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 29/06/2006, 13:48

Está funcionando porque não da erro naquela query.

Pois se a query der erro nada será apresentado na tela pois o seu or die(mysql_error()) não está como condicional da execução da query e sim na montagem dela apenas.

Para condicionar à parar a execução (ordie()) ou a exebir o motivo do erro (mysql_error()) é necessário condionar no lugar certo ... ou seja onde vc está mandando executar a query que seria em:

$variavel = mysql_query($query) or die (mysql_error()) ;

// onde $query é a variável de um exemplo que estaria montada a consulta. "SELECT ... ";


Sempre será assim e não de outra forma... salvo quando vc montar a sua consulta toda numa $variavel só.

Exemplo:

$variavel = mysql_query("SELECT ...") or die(mysql_error());



Se vc diz que vai estudar PHP ... então tenha atenção às dicas que lhe são dada ... e leia muito apartir daqui:

http://br.php.net/ma...ntroduction.php

(y)Até mais




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq