У меня есть кнопка, onclick Я получаю ссылку: //…./update_news.php?newsID=112&&value=delete
используя этот код:
'<td style="width:50px;"> <u> <b><a href="update_news.php?newsID='.$row['newsID'].'&&'.'value=delete'.'">'.'<img src="src/img/delete.png" /></b></u></td></a>';
Затем я пытаюсь удалить строку с помощью этого класса, но это не работает:
class Delete{ private $db; public function __construct(){ $this->db = new Connection(); $this->db = $this->db->dbConnect(); } public function Delete($title, $date, $short_description, $description){ $newsID = $_Get['newsID']; $delete = $_Get['delete']; if(isset($delete)) { $sql = "DELETE FROM `News` WHERE newsID= :newsID"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':newsID', $_GET['newsID'], PDO::PARAM_INT); $stmt->execute(); echo "WORKS"; } else { echo "Papapapapa"; } }}
Я называю этот класс:
$object = new Delete(); $object->news($newsID, $title, $date, $short_description, $description);
Спасибо, если кто-нибудь мне поможет.
Почему вы вызываете метод news ()? Вы написали метод в конструктор. Вы должны написать в такой класс:
class Delete{ private $db; public function __construct(){ $this->db = new Connection(); $this->db = $this->db->dbConnect(); } public function DeleteNews($title, $date, $short_description, $description){ $newsID = $_Get['newsID']; $delete = $_Get['delete']; if(isset($delete)) { $sql = "DELETE FROM `News` WHERE newsID= :newsID"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':newsID', $_GET['newsID'], PDO::PARAM_INT); $stmt->execute(); echo "WORKS"; } else { echo "Papapapapa"; } } }
После вызова метода DeleteNews.
$object = new Delete(); $object->DeleteNews($title, $date, $short_description, $description);
На мой взгляд, первое, что вам нужно сделать, это переименовать вашу функцию Delete
чтобы она не была заглавной, поэтому вы не будете путать ее с вашим классом.
Вторая вещь, которую я бы попробовал, на самом деле вызывает функцию delete
(скоро для переименования), потому что прямо сейчас вы вызываете функцию, называемую news
, которая является либо опечаткой, либо кодом, который мы не можем видеть. Попробуйте $object->delete(...)
вместо $object->news(...)
.