ordan gelen veriler de ajax ile sayfama basılıyor. kodu koymadım, klasik bir jquery kodu zaten.
kontrol php'imdeki verileri #ana diye bir div'in içine bastırıyorum direk. append metodu ile.
istiyorum ki; kontrol php'imdeki verilerin bir kısmını #ana bir kısmını #yedek isimli div'in içine bastırayım. böyle bir bölüştürmeyi nasıl yapabilirim?
gelen veriyi json olarak döndürebilirsin, oradan istediğini ayırabilirsin, yok ben doğrudan html göndereceğim diyorsan o zaman geri gelen verinin tam olarak ne olduğunu ve hangi bölümünü hangi div içine atacağını bilmemiz lazım.
daha fazla ayrıntı...
<div id='ana'></div>
<div id='yedek'></div>
bu iki divimiz var diyelim.
$(function(){
$('.ekle').click(function(){
var ekle = $(this).attr('name');
var degerler = "ekle="+ekle;
$.ajax({
type: "POST",
url: "tema/standart/js/ajaxkontrol/ekleme.php",
data: degerler,
success: function(sonuc){
$("#ana").append(sonuc);
}
});});});
bu şekilde 'ekle' butonuna tıklandığında 'ekleme.php' ile giden veri kontrol ettiriliyor.
<div class='mac'>
<li>{$veri} <div style='float:right; margin-right:75px'>{$isim}</div></li
<li>{$sonuc}</li></div>";
<div class='sonuncu'>{$sonuncu}</div>
ekleme.php'de de çeşitli veritabanı işlemlerinin ardından bu sonuç ortaya çıkıyor. dolayısıyla "#ana" isimli div'imin içine bu bilgiler basılıyor.
istiyorum ki '.sonuncu' isimli div'imin içindeki verileri #yedek isimli div'e bastırayım.
'.mac' isimli divimin içindeki verileri ise #ana isimli div'e bastırayım.
şuan her ikisi de #ana isimli div'e basılıyor.
php dosyan html tagli veri değil de, saf json döndürsün;
json'ı iki kısma ayır ana ve yedek diye. ana içinde $veri, $isim ve $sonuc; yedekde de $sonuncu olsun.
append'i iki defa kullan sonra;
$("#ana").append(ana);
$("#yedek").append(yedek);
olarak.
öncesinde de ana = "<html tagleri>" + jsondan gelen veri + "<html tagleri>";
şeklinde bu iki ana ve yedeği oluştur.
turkay'ın dediği gibi json olarak veri döndürürsen daha rahat edersin.
ama senin şu anki dönen html'i de jquery ile parse edip istediğini istediğine ekleyebilirsin
şöyle,
$(function(){
var gelenveri = "<div class='mac'><li>{$veri}<div style='float:right;margin-right:75px'>{$isim}</div></li><li>{$sonuc}</li></div><div class='sonuncu'>{$sonuncu}</div>";
$(gelenveri).each(function() {
($(this).attr("class") == 'mac') ? $(this).appendTo("#ana") : $(this).appendTo("#yedek");
});
});
jsfiddle.net
@turkay öyleyse ben biran önce json yazma muhabbetlerini öğrenmeye başlayayım en iyisi.
@ocanal bu arada söylediğin yöntem de çok güzel çalıştı çok teşekkür ederim.
json'la daha fazla rahatlayacaksam onun da derslerini şimdiden araştırayım ben, iyice bi öğreneyim nedir ne değildir.
tchuck, json dersine filan gerek yok; zaten bir yazım standardı var, ona baka baka ne olduğunu anlarsın. önemli olan jquery'nin json fonksiyonlarını (pluginlerini) öğrenmen ki onlar da çok basit. aynı şekilde php'nin de bir kaç json fonkisyonu var ki, sql'den aldığın veriyi doğruca json'a çevirip çıktı olarak sunabilirsin.