Bom eu não estou conseguindo achar a solução que seja justado corretamente a parte de ALTERAR os dados, no momento de alterar os dados ele acaba inserindo, e gostaria de saber como e consertar para esta Alterando invés de inserindo
Pagina de ALTERAR
<div class="card-body">
<?php
$executivo = new Exe();
if ($_SERVER["REQUEST_METHOD"] == "GET") {
//Using GET
//NAO TEM O NUMERO
$id = $_GET['id'];
$titulo = $_GET['titulo'];
$categoria = $_GET['categoria'];
$action = $_GET['action'];
$file = $_GET['arquivo'];
}
if (isset($_POST["btnPublicar"])) {
$id = $_POST['id'];
$titulo = $_POST['titulo'];
$categoria = $_POST['categoria'];
$action = $_POST['action'];
$file = $_POST['filetext'];
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Check if file was uploaded without errors
$filename = $_FILES["file"]["name"];
$filetype = $_FILES["file"]["type"];
$filesize = $_FILES["file"]["size"];
// Verify file extension
$ext = pathinfo($filename, PATHINFO_EXTENSION);
// Verify file size - 5MB maximum
$maxsize = 5 * 1024 * 1024;
if ($filesize > $maxsize)
die("ERRO: Tamanho máximo de arquivo igual a 5MB.");
// Check whether file exists before uploading it
if (file_exists("uploads/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " já existe na pasta.";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
}
}
#fim do Arquivo
print_r($fmsg);
$executivo->setID($id);
$executivo->setTitulo($titulo);
$executivo->setCategoria($categoria);
$executivo->setArquivo($filename);
try {
if ($action == "alterar") {
if ($filename == "") {
$licitacao->setArquivo($file);
} else {
if (file_exists("uploads/" . $file)) {
$path = 'uploads/' . $file;
unlink($path);
}
}
$executivo->update($executivo->getID(), $executivo->getTitulo(), $executivo->getCategoria(), $executivo->getArquivo());
$texto = "Atualizado com sucesso";
} else {
$executivo->insert($executivo->getTitulo(), $executivo->getCategoria(), $executivo->getArquivo());
$texto = "Inserido com sucesso";
}
} catch (PDOException $e) {
echo 'ERRO: ' . $e->getMessage();
}
}
?>
<h4 class="header-title">Cadastro Downloads Executivos</h4>
<form method="POST" enctype="multipart/form-data">
<div class="form-group">
<label class="col-form-label">Título</label>
<input class="form-control" type="text" name="titulo" value="<?php echo $titulo; ?>" >
</div>
<div class="form-group">
<label class="col-form-label">Categoria</label>
<select class="form-control" name="categoria">
<option >Select</option>
<option value="Executivo">Executivo</option>
<option value="Legislativo">Legislativo</option>
<option value="Judiciario">Judiciário</option>
</select>
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Arquivo</span>
</div>
<div class="custom-file">
<input type="file" name="file"/> <a href="<?php echo "uploads/" . $file; ?>"><?php echo $file; ?></a>
<input type="text" id="filetext" name="filetext" hidden="true" value="<?php echo $file; ?>" >
</div>
</div>
<button class="btnPublicar" name="btnPublicar"><span>Publicar </span></button>
</form>
<?php
echo $texto;
?>
</div>
esse aqui é classe
<?php
require_once 'Crud.php';
class Exe extends Crud {
protected $table = 'exe';
private $arquivo;
private $categoria;
private $id;
private $titulo;
public function setArquivo($arquivo) {
$this->arquivo = $arquivo;
}
public function getArquivo() {
return $this->arquivo;
}
public function setCategoria($categoria) {
$this->categoria = $categoria;
}
public function getCategoria() {
return $this->categoria;
}
public function setID($id) {
$this->id = $id;
}
public function getID() {
return $this->id;
}
public function setTitulo($titulo) {
$this->titulo = $titulo;
}
public function getTitulo() {
return $this->titulo;
}
public function insert($titulo, $categoria, $arquivo) {
try {
$sql = "INSERT INTO $this->table (titulo, categoria, arquivo) VALUES (:titulo, :categoria, :arquivo)";
$stmt = DB::prepare($sql);
$stmt->execute(array('titulo' => $titulo, 'categoria' => $categoria, 'arquivo' => $arquivo));
} catch (PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
}
public function update($id, $categoria, $titulo, $arquivo) {
try {
$sql = "UPDATE $this->table SET categoria = :categoria, titulo = :titulo, arquivo= :arquivo WHERE id = :id";
$stmt = DB::prepare($sql);
$stmt->execute(array('id' => $id, 'titulo' => $titulo, 'categoria' => $categoria, 'arquivo' => $arquivo));
} catch (PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
}
}
?>
Se alguém puder me ajuda a ajustar o código de forma correta para fazer a alteração
Desde já agrade a ajuda!