Php sıralama mantığı yardım R10+
5
●232
- 02-08-2022, 14:45:34Kimlik doğrulama veya yönetimden onay bekliyor.Şu şekilde bir mantık kurabilirsiniz. Testini yapmadım. Mantık olarak belki bir fikir verir diye yazıyorum.
$yenisira=$_POST['yenisira']; $slide_id=$_POST['slide_id']; $eskisirasorgu=$db->prepare("SELECT * FROM slider where slide_id = {$slide_id} "); $eskisirasorgu->execute(); $sonuc=$eskisirasorgu->fetch(PDO::FETCH_ASSOC); $eskisira=$sonuc['slide_sira']; if ($yenisira > $eskisira) { $sorgumetin="SELECT * FROM slider where slide_sira > ".$eskisira." and slide_sira <= ".$yenisira; } elseif ($yenisira < $eskisira) { $sorgumetin="SELECT * FROM slider where slide_sira >= ".$yenisira." and slide_sira < ".$eskisira; } $sorgu=$db->prepare($sorgumetin); $sorgu->execute(); while ($cikti=$sorgu->fetch(PDO::FETCH_ASSOC)){ if ($yenisira > $eskisira) { $sirakaydir= $cikti['slide_sira'] - 1 ; } elseif ($yenisira < $eskisira) { $sirakaydir= $cikti['slide_sira'] + 1 ; } $duzenle=$db->prepare("UPDATE slider SET slide_sira=:slide_sira WHERE slide_id = {$cikti['slide_id']}"); $update=$duzenle->execute(array( 'slide_sira' => $sirakaydir )); } $duzenle=$db->prepare("UPDATE slider SET slide_sira=:slide_sira WHERE slide_id={$slide_id}"); $update=$duzenle->execute(array( 'slide_sira' => $yenisira )); - 02-08-2022, 20:23:12şuan zaten bu dediğiniz yapılı hocamvelmut adlı üyeden alıntı: mesajı görüntüle
sliderların eski ile yenisinin idsinin yerlerinimi değiştirdiniz burda denemedim ama öyle gözüküyorkcanozbek adlı üyeden alıntı: mesajı görüntüle - 03-08-2022, 09:43:31Örnekle açıklayım. 5 tane slide olduğunu düşünelim. A B C D E olarak isimlendirelim. C'yi başa alacak olursak yeni sıralama şu şekilde olur. C A B D E .Larousse adlı üyeden alıntı: mesajı görüntüle
yazdığım kodlar bu şekilde çalışıyor olması lazım. yine bi deneyin yapamazsanız yardımcı olurum.