v2.5.2
Giriş yap

Php kategoriyi üste alta tasimak

Anonim
224 defa görüntülendi ve 2 kişi tarafından değerlendirildi

php de olurya arkadaşlar adamın panelinde kategoriye üste alta taşı olur yer değiştirir onu istiyorum

Cevap yaz
Cevaplar (7)
bhebatu
454 gün önce
<?php
// Veritabanı bağlantısı
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$dbname = "veritabani_adi";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Veritabanı bağlantısı başarısız: " . $conn->connect_error);
}

// Kategorileri veritabanından çekme
$sql = "SELECT * FROM kategoriler ORDER BY sira_numarasi ASC";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// Kategorileri listeleyen form oluşturma
echo '<form method="POST" action="kategori_tasi.php">';
while ($row = $result->fetch_assoc()) {
$kategoriId = $row["id"];
$kategoriAdi = $row["kategori_adi"];
$siraNumarasi = $row["sira_numarasi"];

echo '<div>';
echo '<label for="sira_numarasi_' . $kategoriId . '">' . $kategoriAdi . '</label>';
echo '<input type="number" name="sira_numarasi[' . $kategoriId . ']" id="sira_numarasi_' . $kategoriId . '" value="' . $siraNumarasi . '">';
echo '</div>';
}
echo '<input type="submit" value="Kaydet">';
echo '</form>';
} else {
echo "Hiç kategori bulunamadı.";
}

// Form gönderildiğinde kategori sıra numaralarını güncelleme
if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach ($_POST["sira_numarasi"] as $kategoriId => $siraNumarasi) {
$kategoriId = intval($kategoriId);
$siraNumarasi = intval($siraNumarasi);

$sql = "UPDATE kategoriler SET sira_numarasi = $siraNumarasi WHERE id = $kategoriId";
if ($conn->query($sql) === FALSE) {
echo "Kategori güncellenirken hata oluştu: " . $conn->error;
}
}
}

// Veritabanı bağlantısını kapatma
$conn->close();
?>

Bu kod, kategorileri veritabanından çeker, bir form oluşturur ve form gönderildiğinde kategori sıra numaralarını günceller. "kategori_tasi.php" adında bir dosyaya gönderdiği için bu dosyayı oluşturmanız gerekmektedir. Bu dosyada veritabanı bağlantısını sağyıp, güncelleme işlemlerini gerçekleştirmelisiniz.

omerg
455 gün önce

bhebatu istediğim bu değil istediğim select ile yapılan yada text kutusu ile yapilan veritabanı ile

bhebatu
455 gün önce
function kategoriYerDegistir($kategoriler, $ustKategori, $altKategori){
$ustKategoriIndex = array_search($ustKategori, $kategoriler);
$altKategoriIndex = array_search($altKategori, $kategoriler);

if ($ustKategoriIndex !== false && $altKategoriIndex !== false) {
// Kategorileri yer değiştir
list($kategoriler[$ustKategoriIndex], $kategoriler[$altKategoriIndex]) = array($kategoriler[$altKategoriIndex], $kategoriler[$ustKategoriIndex]);
}

return $kategoriler;
}

// Kategorileri tanımla
$kategoriler = array("Kategori 1", "Kategori 2", "Kategori 3", "Kategori 4");

// Kategorileri yer değiştir
$kategoriler = kategoriYerDegistir($kategoriler, "Kategori 2", "Kategori 4");

// Sonuçları görüntüle
print_r($kategoriler);

Bu örnekte, kategoriYerDegistir adlı bir işlev tanımlıyoruz. Bu işlev, kategoriler dizisini, üst ve alt kategori isimlerini parametre olarak alır. İşlev, array_search işlevini kullanarak üst ve alt kategorilerin dizideki indekslerini bulur. Ardından, list işlevini kullanarak kategorileri yer değiştirir. Son olarak, işlev, güncellenmiş kategoriler dizisini döndürür.

Bu örneği kendi projenize uyarlayabilir ve kategorileri istediğiniz gibi yer değiştirebilirsiniz. Umarım bu size yardımcı olur!

omerg
455 gün önce

yardım bekliyorum

omerg
455 gün önce

gösterirsen sevinirim ayrıca sadece php ile yaparsan çok sevinirim

database
455 gün önce

İlk önce kategori tablonda bir "order" kolonu oluşturman gerekiyor ardından ui için ise jquery drag drop kullanabilirsin.
eğer örnek istiyorsan da gösterebilirim.

omerg
456 gün önce

yardım eden yokmu