Şöyle bir şey hazırladım, belki fikir verir.
Bu arada yanlışlıkla spam işaretledim kusura bakma.
Bunu javascript tarafında halledin, 7 numaralı sütuna yazacağınızı düşünürsek columns değerinin içerisindeki 7 numaralı sütun için render fonksiyonunda kontrol edip ona göre aktif pasif yazabilirsiniz
Bunun sebebi muhtemelen 'header already sent by output' tarzı bir hata alıyor olman. Sunucuda error_log dosyası oluşturmayı aktif edip kontrol edebilirsiniz.
Ben yaptığım olayı açıklayayım, siz kodunuzda .product-image altındaki bütün a elemanlarını alıyordunuz ama o elemanların arasında Sepete ekle butonunun a elemanları da vardı. Ben .product-image in sadece bir seviye altındaki a elemanlarını almak için > çocuk seçisini kullandım.
.product-codenumber elemanı da seçtiğimiz a elemanlarının dom ağacında içinde değil aynı seviyede iki eleman ötedeki kardeşleri konumunda olduğu için de next_sibling i iki defa kullanarak ulaştım
Hiyerarşi ile ilgili ufak sorunların vardı
<?php
$html = file_get_html('http://eshop.erhanteknik.com.tr/urunlerimiz?categoryId=1');
$find = $html->find('.product-image > a');
if (count($find)) {
foreach ($find as $item){ ?>
<img src="<?= $item->find('img',0)->src; ?>" alt="">
<div><?= $item->next_sibling()->next_sibling()->plaintext ?></div>
<?php }
}
Boşuna uğraşmışsın, gönderdiğim linke bakmadın mı
Böyle durumlarda hangi dil olursa olsun benim yaptığım şey her satırdan sonra kodların benim istediğim şeyleri yapıp yapmadığını kontrol etmektir. Mesela bir satırda bir değişkene bir değer mi atadım, hemen o satırdan sonra console a o değer gerçekten istediğim şekilde atanmış mı diye bir çıktı alır ve kontrol ederim.
Böyle bir şey deneyin
$html = [];
foreach ($rows as $key => $value) {
$html[] = "<div class='box' data-id='{$value["id"]}'>{$value["text1"]}</div>";
}
echo json_encode($html);
$.ajax('ajax.php', {
method: "POST",
data: {
load: true
},
dataType: "json"
}).then(response => {
Object.values(response).forEach(value => {
document.querySelector(".container").insertAdjacentHTML("afterend", value)
})
})
Cumadan sonra bu konu üzerinde biraz düşünebilirim. Anladığım kadarıyla sayfanın sonuna gelindiğinde sunucudan daha fazla veri yüklemek istiyorsunuz
Asıl soru şu, ne yapmak istiyorsunuz?