When you run the code below, more than one record is deleted from the database. I can not find the problem.
Exclude Code
exclude_client.php
<?php
require 'repositorio_clientes.php';
$clientes = $repositorio->getListarClientes();
echo"< br>< br>< br>< br>< br>< br>";
while($clienteTemporario = array_shift($clientes)){
if($clienteTemporario->getCodigo() == $_REQUEST['codigo']){
echo '<center>' . "Cliente: " . $clienteTemporario->getNome() . ", cpf: " . $clienteTemporario->getCpf() . $repositorio->excluirClientes($_REQUEST['codigo']) . "excluído com sucesso" . '</center>';
}
}
exit;
?>
Page: repositorio_clientes.php
<? php
require ' conexao.php ';
include 'cliente.php';
interface IRepositorioClientes {
public function cadastrarClientes($cliente);
public function excluirClientes($cliente);
public function atualizarClientes($cliente);
public function buscarCliente($codigo);
public function getListarClientes();
public function getListarClienteDia();
public function getListarClienteAtraso();
}
class RepositorioClientesMySQL implements IRepositorioClientes {
private $conexao;
public function __construct() {
$this->conexao = new Conexao("localhost", "root", "", "biblioteca");
if($this->conexao->conectar() == false) {
echo "Erro" . mysqli_error();
}
}
public function cadastrarClientes($cliente) {
$nome = $cliente->getNome();
$endereco = $cliente->getEndereco();
$cpf = $cliente->getCpf();
$saldo = $cliente->getSaldo();
$situacao = $cliente->getSituacao();
$data= $cliente->getData();
$sql = "INSERT INTO cliente (nome, endereco, cpf, saldo, situacao, data) VALUES
('$nome', '$endereco', '$cpf', '$saldo', '$situacao', '$data')";
$this->conexao->executarQuery($sql);
}
public function excluirClientes($codigo) {
$sql = "DELETE FROM cliente WHERE codigo = '$codigo'";
$this->conexao->executarQuery($sql);
}
public function atualizarClientes($cliente) {
$nome = $cliente->getNome();
$codigo = $cliente->getCodigo();
$cpf = $cliente->getCpf();
$endereco = $cliente->getEndereco();
$saldo = $cliente->getSaldo();
$situacao = $cliente->getSituacao();
$data = $cliente->getData();
$linha = $this->conexao->obtemPrimeiroRegistroQuery;
$sql = "UPDATE cliente SET nome ='$nome', endereco='$endereco', cpf='$cpf', saldo='$saldo', situacao='$situacao', data='$data' WHERE codigo ='$codigo'";
$this->conexao->executarQuery($sql);
}
public function buscarCliente($codigo) {
$linha = $this->conexao->obtemPrimeiroRegistroQuery ("SELECT * FROM cliente WHERE codigo='$codigo'");
$cliente = new Cliente(
$linha['nome'],
$linha['codigo'],
$linha['endereco'],
$linha['cpf'],
$linha['saldo'],
$linha['situacao'],
$linha['data']);
return $cliente;
}
public function getListarClientes() {
$listagem = $this->conexao->executarQuery("SELECT * FROM cliente");
$arrayClientes = array();
while($linha = mysqli_fetch_array($listagem)){
$cliente = new Cliente(
$linha['nome'],
$linha['codigo'],
$linha['endereco'],
$linha['cpf'],
$linha['saldo'],
$linha['situacao'],
$linha['data']);
array_push($arrayClientes, $cliente);
}
return $arrayClientes;
}
public function getListarClienteDia() {
$listagem = $this->conexao->executarQuery("SELECT * FROM cliente WHERE situacao='Em Dia'");
$arrayClientes = array();
while($linha = mysqli_fetch_array($listagem)){
$cliente = new Cliente(
$linha['nome'],
$linha['codigo'],
$linha['endereco'],
$linha['cpf'],
$linha['saldo'],
$linha['situacao'],
$linha['data']);
array_push($arrayClientes, $cliente);
}
return $arrayClientes;
}
public function getListarClienteAtraso() {
$listagem = $this->conexao->executarQuery("SELECT * FROM cliente WHERE situacao='Em Atraso'");
$arrayClientes = array();
while($linha = mysqli_fetch_array($listagem)){
$cliente = new Cliente(
$linha['nome'],
$linha['codigo'],
$linha['endereco'],
$linha['cpf'],
$linha['saldo'],
$linha['situacao'],
$linha['data']);
array_push($arrayClientes, $cliente);
}
return $arrayClientes;
}
}
$repositorio = new RepositorioClientesMySQL();
?>