Asp - Php - Cgi - Perl
Php İle Mysql'daki Tablomun Satırlarının Sırasını Değiştirmek.
Php İle Mysql'daki Tablomun Satırlarının Sırasını Değiştirmek.
-
Arkadaşlar iyi akşamlar herkese.
Ben çok araştırdım çok kurcaladım çok uğraştım ama aylardır evet abartmıyorum aylardır bu konuyu çözemedim.
Sorunum şu :
Benim mysql da "sayfalar" adlı bir tablom var. ve bu tablomda "id", "sayfa_adi", "sayfa_baslik" ve "sayfa_icerik" adlı 4 sütunum var. Bu sütunlardan adı "id" olan sütunum "int, auto-increment" değerinde. diğerleri longtext değerlerinde.
Şimdi ben sayfalar.php adlı sayfa da bütün sayfaları html tablomun içerisine listeliyorum örn: "Ana sayfa, Ürünlerimiz, Projeler, Hakkımızda...." Bunlar alt alta listeleniyorlar. Ben bu sayfalar.php sayfasında bu listelediğim sayfaların sıralamalarını nasıl değiştirebilirim.
sıralamaları "id" ye göre yapıyorum. id si küçük olan en üstte olacak şekilde aşağıya doğru sıralanıyolar.
bazı cms sistemlerde gördüm bunu sayfa adlarının yanlarında aşağı yukarı ok tuşları var hatta ve hatta bazı cms sistemlerde sürükle bırak ile sayfa sıralaması yaptırıp veri tabanına kaydettiriyolar. Nasıl Yapabilirim bunu?
işin özü mysql tablomun satırlarının sıralamarını nasıl değiştirebilirim ?
Yardımlarınız benim için çok önemli herkese iyi akşamlar tekrardan.
-
integer bir alan daha açıyosun. yukarı taşı işleminde mevcut id'nin sıra değerinden 1 fazla olanı bir azaltıyorsun mevcutu 1 artırıyorsun. aşağı taşı işleminde tam tersi.
order by siralama diyorsun sql'de.
sürükle bırak yapanlarda süre sürüklenilen yeri yukarı ya da aşağımı diye bakıyorsun kaç sürüklenmişse mevcut id+artış yapıyosun. aradakilerin hepsine -1 yapıyorsun.
-
-
sayfalar.php ye form elemanı koyucam bu form un action ununu sirala.php ye atıyıcam kullanıcı sayfa adklarının yanındaki oklara basıp en altta da sıralamayı kaydet diye butona basınca değerler sırala.php ye aktarlıcak bu şekilde yapmam nasıl olur uygun olur mu acaba ?
-
anlamadım :( olmuyor ben salak mıyım
-
http://tahribat.com/Forum-Programlama-Hocamizin-Soyledigi-Laf-171600/
şu konudakilerin bu konuyu okuması lazım :D
bi link attım bak yukarıda onu biraz incelemeye çalış
-
:D hacım benim matematiğim çok iyi aslında ama şu sorunu nasıl çözecez bi el atı ver be :D
-
Bknz : JS DATAGRID
http://dhtmlx.com/docs/products/dhtmlxGrid/index.shtml
http://www.hotscripts.com/blog/15-javascript-data-grids-enhance-html-tables/
http://www.jeasyui.com/extension/datagridview.php
-
hocam veritabanındaki sayfalar tablona bir hücre daha ekle ona göre sıralama yaptır
örneğin; sen sayfalar.php dosyanda order by id desc olarak listeliyorsun
onun yerine sayfa_sira diye bir hücre ekleyip ona göre listelettir order by sayfa_sira desc diye
halledemessen yaz yardımcı olalım
-
Order By ID Desc
"Desc" olayını biliyorsundur?
-
Sevgili arkadaşlar hala sorunumu çözemedim şöyle bir şey yaptım ancak olmadı.
1) tablo şu : id, sayfa_adi, sayfa_basligi.
2) bunu yönetim panelindeki bir html tabloya çekiyorum while ile sıraltıyorum hepsini id lerini göre satır satır alt alta.
3) Her satırın yanına aşağı ve yukarı oklar koydum. bu oklara şöyle bir link verdim :
<a href='sirala.php?id=$sayfa[id]&yon=asagi'>a</a> - <a href='sirala.php?id=$sayfa[id]&yon=yukari'>y</a>
4) Son olarakta link tıklayan sirala.php sayfasına get metoduyla iki değişken yollanıyor. Birisi id diğeri yön. ve sirala.php sayfasında bir tane daha değişken oluşturdum ve if komutuyla şunu yaptım. eğer yön = yukarıya ise id2 = id -1; dedim, eğer yön aşağıya ise id2 = id +1; dedim ve update komutuyla şunu yaptım :
mysql_query("UPDATE sayfalar SET id='$id' WHERE id='$id2'" );
mysql_query("UPDATE sayfalar SET id='$id2' WHERE id='$id'" );
ancak birinci update komutunu çalıştırıyor ve bitiriyor yani ikincisini çalıştırmıyor o yüzden de mesela yön aşağı ise ve id 4 ise 5. sayfanın id sini 4 yapıyor ama 4. sayfanın id sini 5 yapmıyor. :(