Eğer yeni başladıysanız yolun başındayken sınıf kullanımlarını biraz değiştirin.
- Öncelikle bir tane "veritabani" isimli sınıf oluşturun. Bu sınıf içerisinde PDO objesini örnekleyip, $db isimli bir değişkene objeyi atayın.
- Daha sonra "veritabani" isimli sınıftan "stok" isimli yeni bir sınıfı extend edin (veritabanı sınıfının özelliklerinin stok isimli sınıf tarafından miras alınmasını sağlayın)
- "Stok" sınıfı içerisindeki metotların hiç birinde html kullanmayın. Eğer veritabanından veri sorguladığınız zaman sonuç dönmüyorsa false, dönüyorsa dizi değişken olarak verilerin dönmesini sağlayın.
- Html ile ilişkili kısımları ise sınıfı kullanacağınız yerde yapın.
<?php
class Veritabani {
protected $db;
public function __construct() {
try {
$this->db = new PDO("mysql:host=localhost;dbname=stoktakip;charset=utf8", "root","123456");
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
die($e->getMessage());
}
}
}
class Stok extends Veritabani{
public function __construct() {
parent::__construct();
}
public function kategori_ust() {
$sql = "select * from kategori";
$sorgu = $this->db->prepare($sql);
$sorgu->execute();
return $sorgu->rowCount() > 0 ? $sorgu->fetchAll(PDO::FETCH_ASSOC) : false;
}
public function tum_urunler() {
$sql = "select * from urunler";
$sorgu = $this->db->prepare($sql);
$sorgu->execute();
return $sorgu->rowCount() > 0 ? $sorgu->fetchAll(PDO::FETCH_ASSOC) : false;
}
public function urunleri_cek($kategori) {
$sql = "select * from urunler where katid = ?";
$sorgu = $this->db->prepare($sql);
$sorgu->execute(array($kategori));
return $sorgu->rowCount() > 0 ? $sorgu->fetchAll(PDO::FETCH_ASSOC) : false;
}
}