Ir para conteúdo

POWERED BY:

Arquivado

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

felipeamboni

Problemas ao Deletar pela Id php+mysql

Recommended Posts

Estou alguns dias com um codigo tentando deletar pela id, baixei ele da internet porém não estou conseguindo eu analizei e vi que além do conexao.class.php tem o banco.class.php abaixo o codigo

<?php

require_once 'conexao.class.php';

abstract class banco extends conexao {

	//========   FUNÇÃO QUE GERA O COMANDO SQL A SER INSERIDO NO BANCO DE DADOS =========
	public function insert($nomeTabela) {
		$sql = "INSERT INTO " . $this -> tabela . " (";
		for ($i = 0; $i < count($nomeTabela -> camposValores); $i++) {
			$sql .= key($nomeTabela -> camposValores);
			if ($i < count($nomeTabela -> camposValores) - 1) {
				$sql .= ", ";
			} else {
				$sql .= ") ";
			}
			next($nomeTabela -> camposValores);
		}
		reset($nomeTabela -> camposValores);
		$sql .= "VALUES (";
		for ($i = 0; $i < count($nomeTabela -> camposValores); $i++) {
			@$sql .= is_numeric($nomeTabela -> camposValores[key($nomeTabela -> camposvalores)]) ? $nomeTabela -> camposValores[key($nomeTabela -> camposValores)] : "'" . $nomeTabela -> camposValores[key($nomeTabela -> camposValores)] . "'";

			if ($i < count($nomeTabela -> camposValores) - 1) {
				$sql .= ", ";
			} else {
				$sql .= ") ";
			}
			next($nomeTabela -> camposValores);
		}
		return $this -> executaSql($sql);
	}

	//========   FUNÇÃO QUE SELECIONA TODOS OS CAMPOS DO BANCO DE DADOS =========
	public function selectTudo($nomeTabela) {
		$sql = "SELECT * FROM " . $nomeTabela -> tabela;
		if ($nomeTabela -> extrasSelect != NULL) {
			$sql .= " " . $nomeTabela -> extrasSelect;
		}
		return $this -> executaSql($sql);
	}

	//========   FUNÇÃO QUE SELECIONA SOMENTE UM CAMPO DO BANCO DE DADOS =========
	public function selectCampo($nomeTabela) {
		$sql = "SELECT ";
		for ($i = 0; $i < count($nomeTabela -> camposValores); $i++) {
			$sql .= key($nomeTabela -> camposValores);
			if ($i < count($nomeTabela -> camposValores) - 1) {
				$sql .= ", ";
			} else {
				$sql .= " ";
			}
			next($nomeTabela -> camposValores);
		}

		$sql .= " FROM " . $nomeTabela -> tabela;
		if ($nomeTabela -> extrasSelect != NULL) {
			$sql .= " " . $nomeTabela -> extrasSelect;
		}
		return $this -> executaSql($sql);
	}

	//========   FUNÇÃO QUE DELETA OS DADOS DO BANCO DE DADOS =========
	public function delete($nomeTabela) {

		$sql = "DELETE FROM " . $this -> tabela;
		$sql .= " WHERE " . $nomeTabela -> campoPk . "=";
		$sql .= is_numeric($nomeTabela -> valorPk) ? $nomeTabela -> valorPk : "'" . $nomeTabela -> valorPk . "'";

		return $this -> executaSql($sql);

	}

	/*========   FUNÇÃO QUE ATUALIZA OS DADOS DO BANCO DE DADOS =========*/
	public function update($nomeTabela) {

		$sql = "UPDATE " . $this -> tabela . " SET ";
		for ($i = 0; $i < count($nomeTabela -> camposValores); $i++) {
			$sql .= key($nomeTabela -> camposValores) . "=";
			@$sql .= is_numeric($nomeTabela -> camposValores[key($nomeTabela -> camposvalores)]) ? $nomeTabela -> camposValores[key($nomeTabela -> camposValores)] : "'" . $nomeTabela -> camposValores[key($nomeTabela -> camposValores)] . "'";
			if ($i < count($nomeTabela -> camposValores) - 1) {
				$sql .= ", ";
			} else {
				$sql .= " ";
			}
			next($nomeTabela -> camposValores);
		}
		$sql .= "WHERE " . $nomeTabela -> campoPk . "=";
		$sql .= is_numeric($nomeTabela -> valorPk) ? $nomeTabela -> valorPk : "'" . $nomeTabela -> valorPk . "'";

		return $this -> executaSql($sql);

	}

	//========   FUNÇÃO QUE FAZ A EXECUÇÃO DO SQL JÁ PRONTO =========
	public function executaSql($sql = NULL) {
		if ($sql != NULL) {
			$query = mysql_query($sql) or $this -> trataErro(__FILE__, __FUNCTION__);
			$this -> linhasafetadas = mysql_affected_rows($this -> conexao);
			if (substr(trim(strtolower($sql)), 0, 6) == 'select') :
				$this -> dataset = $query;
				return $query;
			else :
				return $this -> linhasafetadas;
			endif;
		} else {
			$this -> trataErro(__FILE__, __FUNCTION__, NULL, 'Comando SQL n�o Informado na rotina.', FALSE);
		}
	}

	/*RETORNA O TIPO DE SELEÇÃO QUE SERÁ FEITA, DEFAUT(mysql_fetch_object)*/
	public function retornaDados($tipo = NULL) {
		switch (strtolower($tipo)) {
			case "array" :
				return mysql_fetch_array($this -> dataset);
				break;
			case "assoc" :
				return mysql_fetch_assoc($this -> dataset);
				break;
			case "object" :
				return mysql_fetch_object($this -> dataset);
				break;
			default :
				return mysql_fetch_object($this -> dataset);
				break;
		}
	}

	/*========   FUNÇÃO FAZ O TRATAMETO DOS ERROR OCORRIDOS =========*/
	public function trataErro($arquivo = NULL, $rotina = NULL, $numeroErro = NULL, $msgErro = NULL, $geraExcept = FALSE) {
		if ($arquivo == NULL) {
			$arquivo = "não informado";
		}
		if ($rotina == NULL) {
			$rotina = "não informada";
		}
		if ($numeroErro == NULL) {
			$numeroErro = mysql_errno($this -> conexao);
		}
		if ($msgErro == NULL) {
			$msgErro = mysql_error($this -> conexao);
		}
		$resultado = 'Ocorreu um erro - Detalhes:<br />
		<strong>Arquivo:</strong> ' . $arquivo . '<br />
		<strong>Rotina:</strong> ' . $rotina . '<br />
		<strong>Codigo:</strong> ' . $numeroErro . '<br />
		<strong>Mensagem:</strong> ' . $msgErro;

		if ($geraExcept == FALSE) {
			echo($resultado);
		} else {
			die($resultado);
		}
	}

}
?>

nesse codigo vi que tem uma
//======== FUNÇÃO QUE DELETA OS DADOS DO BANCO DE DADOS =========

 

dai criei uma delchamados.php para associar essa funcao mais nao estou conseguindo abaixo meu codigo

<?php
/*$conexao = mysql_connect("localhost","root","root"); // Mapeando o caminho do banco de dados
if (!$conexao) // Verificando se existe conexão com o caminho mapeado
{
die('Erro ao conectar: ' . mysql_error()); // Caso o caminho esteja errado, o usuário ou a senha esteja errado, irá mostrar esta mensagem
}
mysql_select_db("helpdesk", $conexao); // Selecionando o banco de dados

$id = $_GET ['id']; // Recebendo o valor enviado pelo link


mysql_query("DELETE FROM chamados WHERE id='".$id."'"); // A instrução delete irá apagar todos os dados da id recebida

mysql_close($conexao); // Fechando a conexão com o banco de dados

echo "Registro excluido com sucesso!";         */
 require_once 'sys/model/conexao.class.php';
?>


além dessa forma tentei outros tutoriais mesmo assim não tive sucesso!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra meu código para deletar eu uso assim;

 

<?php if(isset($_GET['id'])){
$id = $_GET['id'];

$deleta = mysql_query("DELETE FROM tabela WHERE id = '$id'");
if($deleta == 0){
   echo "Erro ao deletar!";
}else{
   echo "Deletado com sucesso!";
}
}
?>

 

 

Da uma estudada, ele é bem simples e fácil! =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.