Php kategoriyi üste alta tasimak
php de olurya arkadaşlar adamın panelinde kategoriye üste alta taşı olur yer değiştirir onu istiyorum
<?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.