Peguei um codigo pronto em: Codigos Prontos PHP, e fiz algumas alterações pra que ele me atenda as minhas necessidades. Porém não esta funcionando corretamente.
Esta apresentando os seguintes erros:
EXCLUIR -> exclui da tela, mas não ta sendo feito a exclusão no banco.
ALTERAR -> altera na tela mas não altera no banco.
Cadastrar -> Aparece uma mensagem: "Erro de tempo de execução - linha 50", mas mesmo assim está cadastrando no banco, porém somente os 2 primeiros campos o terceiro fica com valor 0.00.
Não estou achando o erro, já que num saco muito desse assunto, pois to fazendo ainda um curso de PHP. Se puder me ajudar ai.
<?php
//conecta ao banco de dados
mysql_connect("localhost", "root", "");
mysql_select_db("vigacaldeiraria");
//essa function eu coloquei para retornar o id e inserir na tabela, ela é desnecessaria para o funcionamento...coloquei porq no meu tava xD
function autoindex($tambem)
{
$query = mysql_query('SHOW TABLE STATUS LIKE "' . $tambem . '"');
$data = mysql_fetch_array($query);
return $data['Auto_increment'];
}
switch ($_REQUEST['acao'] == "add") {
//se acao = add então adicionar
case 'add' :
$valor = urldecode($_REQUEST['nome']);
$valor2 = urldecode($_REQUEST['img']);
$valor3 = urldecode($_REQUEST['preço']);
echo autoindex("tbl_produtos");
mysql_query("INSERT INTO tbl_produtos VALUES('','$valor','$valor2','$valor3')");
break;
//se acao = del então deletar
case 'del' :
$id = $_REQUEST['cod'];
mysql_query("DELETE FROM tbl_produtos WHERE cod = '$id'");
break;
//se acao = edit então editar
case 'edit' :
$id = $_REQUEST["cod"];
$valor = urldecode($_REQUEST["nome"]);
$valor2 = urldecode($_REQUEST["img"]);
$valor3 = urldecode($_REQUEST["preço"]);
mysql_query("UPDATE tbl_produtos SET nome = '$valor', img = '$valor2', preço = '$valor3' WHERE cod = '$id'");
break;
}
?>
crucifier.js
function ajax(){
};
ajax.prototype.iniciar = function(){
try{
this.xmlhttp = new XMLHttpRequest();
}
catch(ee){
try{
this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
this.xmlhttp = false;
}
}
}
return true;
}
ajax.prototype.ocupado = function() {
estadoAtual = this.xmlhttp.readyState;
return (estadoAtual && (estadoAtual < 5));
}
ajax.prototype.processa = function() {
if (this.xmlhttp.readyState == 5 && this.xmlhttp.status == 200) {
return true;
}
}
ajax.prototype.enviar = function(url, metodo, modo) {
if (!this.xmlhttp) {
this.iniciar();
}
if (!this.ocupado()) {
if(metodo == "GET") {
this.xmlhttp.open("GET", url, modo);
this.xmlhttp.send(null);
} else {
this.xmlhttp.open("POST", url, modo);
this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
this.xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
this.xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
this.xmlhttp.setRequestHeader("Pragma", "no-cache");
this.xmlhttp.send(url);
}
if (this.processa) {
return unescape(this.xmlhttp.responseText.replace(/\+/g," "));
}
}
return false;
}
function editar(id) {
elem = document.getElementById('campo'+id); //primeiro campo
elem2 = document.getElementById('campo_d'+id); //segundo campo
elem3 = document.getElementById('campo_e'+id); //terceiro campo
bot = document.getElementById("enviar"+id); //botao de enviar
elem.innerHTML = "<input type=\"text\" value=\"" + elem.innerHTML + "\" id='"+id+"_c' />"; //inserir o primeiro input
elem2.innerHTML = "<input type=\"text\" value=\"" + elem2.innerHTML + "\" id='"+id+"d_c' />"; //inserir o segundo input
elem3.innerHTML = "<input type=\"text\" value=\"" + elem3.innerHTML + "\" id='"+id+"e_c' />"; //inserir o terceiro input
bot.innerHTML = '<a href="java script:editado(\''+ id +'\')">enviar</a>'; //inserir o botao de enviar a alteracao
}
function editado(id) {
envia = document.getElementById('enviar'+id); //span onde vai aparecer o botaozinho para enviar a alteracao
campo = document.getElementById(id+'_c').value; //primeiro campo
campod = document.getElementById(id+'d_c').value; //segundo campo
campoe = document.getElementById(id+'e_c').value; //terceiro campo
ecampo = escape(campo); //para não haver problemas de acentos e tal
ecampod = escape(campod); //para não haver problemas de acentos e tal
ecampoe = escape(campoe); //para não haver problemas de acentos e tal
document.getElementById('campo'+id).innerHTML = campo; //alterar o registro na pagina
document.getElementById('campo_d'+id).innerHTML = campod; //alterar o registro na pagina
document.getElementById('campo_e'+id).innerHTML = campoe; //alterar o registro na pagina
envia.innerHTML = '<a href="java script:editar(\''+id+'\')">alterar</a>'; //depois de enviar, mostrar de novo o botão de editar
xmlhttp = new ajax();
xmlhttp.enviar('crucifier.php?acao=edit&cod='+ id + '&nome='+ ecampo + '&img=' + ecampod + '&preço=' + ecampoe, "POST", false); //endereco para enviar a alteração
};
function addrow(id) {
tambem = document.getElementById('tabela'); //id da tabela
campo = document.getElementById('nome'); //primeiro campo
campod = document.getElementById('img'); //segundo campo
campoe = document.getElementById('preço'); //terceiro campo
var x=tambem.insertRow(-1); //inserir a linha
var y=x.insertCell(0); //inserir coluna 1
var z=x.insertCell(1); //inserir coluna 2
var w=x.insertCell(2); //inserir coluna 3
var k=x.insertCell(3); //inserir coluna 4
var b=x.insertCell(4); //inserir coluna 5
y.innerHTML=id; //na primeira coluna, inserir o id
z.innerHTML="<span cod=\"campo"+id+"\">"+campo.value+"</span>"; //na segunda coluna, inserir o nome
w.innerHTML="<span cod=\"campo_d"+id+"\">"+campod.value+"</span>"; //na terceira coluna, inserir o imagem
k.innerHTML="<span cod=\"campo_e"+id+"\">"+campoe.value+"</span>"; //na quarta coluna, inserir o preço
b.innerHTML='<span cod="enviar'+id+'"><a href="java script:editar(\''+id+'\')">alterar</a></span><br><a href="java script:;" onClick="deleterow(\''+id+'\', this.parentNode.parentNode.rowIndex);">del</a>'; //na quarta coluna, inserir as opções
}
function add() {
campo = document.getElementById('nome').value; //recupera primeiro campo
ecampo = escape(campo); //"escapa" primeiro campo
campod = document.getElementById('img').value; //recupera segundo campo
ecampod = escape(campod);//"escapa" segundo campo
campoe = document.getElementById('preço').value; //recupera terceiro campo
ecampoe = escape(campoe);//"escapa" terceiro campo
xmlhttp = new ajax();
id = xmlhttp.enviar('crucifier.php?acao=add&nome='+ ecampo + '&img=' + ecampod, + '&preço=' + ecampoe,"POST", false); //manda adicionar
addrow(id); //adiciona a linha com os campos
campo.value = ""; //limpa o campo1
campod.value = ""; //limpa o campo2
campoe.value = ""; //limpa o campo3
}
function apagar(id, rowIndex)
{
if (confirm('Tem certeza que deseja excluir este registro?'))
{
document.getElementById("tabela").deleteRow(rowIndex); //id da tabela + excluir linha
xmlhttp = new ajax();
xmlhttp.enviar('crucifier.php?acao=del&id='+ id, "POST", false); //envia o comando para deletar
}
}
Pergunta
Nill
Peguei um codigo pronto em: Codigos Prontos PHP, e fiz algumas alterações pra que ele me atenda as minhas necessidades. Porém não esta funcionando corretamente.
Esta apresentando os seguintes erros:
EXCLUIR -> exclui da tela, mas não ta sendo feito a exclusão no banco.
ALTERAR -> altera na tela mas não altera no banco.
Cadastrar -> Aparece uma mensagem: "Erro de tempo de execução - linha 50", mas mesmo assim está cadastrando no banco, porém somente os 2 primeiros campos o terceiro fica com valor 0.00.
Não estou achando o erro, já que num saco muito desse assunto, pois to fazendo ainda um curso de PHP. Se puder me ajudar ai.
O endereço onde esta o script, caso queiram ver o erro: http://www.vigacaldeiraria.com.br/pim/adm/
Ai vai as alterações do codigo que fiz:
estrutura da tabela
index.php crucifier.php crucifier.jsLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados