html css php sql çok acil yardım
beyler e-ticaret sitesi için kategori ve sınırsız alt kategori mantığı yapıcam ama youtube codepen veya internette adam akıllı bir mantık ve tasarım bulamadım Tayfun Erbilen de tee 2012 de çekmiş videoyu pdo yok tasarım ve mantığı yok gibi oldu bittiye getirmiş bana bi yardımcı olursanız sevinirim cevaplarınızı cok acil bekliyorum.
isteğim admin paneline tasarımı ve mantığı tam düzgün sınırsız kategori koymak daha sonra etiket mantığıyla ürünlere birden fazla kategori ve alt kategori seçtircem ama daha kategori alt kategoriyi yapamadık.
pdo ile yazmış olduğum foksiyonu kullanabilirsin
sınırsız kategori foksiyonu
function kategoriliste($parent_id,$id=0,$string = 0) {
global $pdo;
$statament = $pdo->prepare("SELECT * FROM kategori WHERE parent_id=:id ORDER BY adi ASC");
$statament->execute(array("id"=>$id));
while ($row = $statament->fetch(PDO::FETCH_ASSOC)) {
$parent_id_name = $row["adi"];
$id = $row["id"];
if ($id==$parent_id) {
$ok = 'select';
} else {
$ok = '';
}
$strp = str_repeat(' ', $string);
echo "<option value='$id' $ok>$strp $parent_id_name</option>";
kategoriliste($parent_id,$id,$string+2);
}
}
kullanımı şu şekilde kategoriler adında bir tablo oluştur
örnek tablo yapısı
CREATE TABLE kategori
(
id
int(11) NOT NULL,
adi
varchar(100) NOT NULL,
url
varchar(100) NOT NULL,
aciklama
varchar(255) NOT NULL,
etiket
varchar(120) NOT NULL,
parent_id
int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE kategori
ADD PRIMARY KEY (id
);
ALTER TABLE kategori
MODIFY id
int(11) NOT NULL AUTO_INCREMENT;
parent_id varsayılan değer 0 yaptım şümkü
veri eklerken herhangi bir kategori seçilmediği zaman
varsayılan değer 0 olacak yani anakategori olacaktır
tek bir kategori ve çoklu kategori seçimide şu şekildedir
Form içinde Tekli kategori seçme Kullanım kodu
<select class="form-control select2" name="parent_id">
<option>Seç</option>
<optgroup>
<?php echo kategoriliste($parent_id); ?>
</optgroup>
</select>
Form içinde Çoklu kategori seçme Kullanım kodu
<select class="form-control select2" name="parent_id[]" multiple="multiple">
<option>Seç</option>
<optgroup>
<?php echo kategoriliste($parent_id); ?>
</optgroup>
</select>
select çıktı bu şekilde olucaktır
$string+2 değeri 1 yaparsan 1 boşluk 2 yaparsan 2 boşluk oluşur
$string+1
Oyun
Spor
Yarış
$string+2
Oyun
Spor
Yarış
umarım faydası olur olmuyorsa yazın yardımcı olalım