Php'den anlayanlara bir sorum olacak, yardımcı olabilecek olan varsa sevinirim;

veritabanında yer alan urunler tablosunu 2 farklı sütun içine çekmek istiyorum. Yapı temel olarak şu şekilde olacak:

<table>
<tr>
<td>
Ürün 1
Ürün 2
Ürün 3
Ürün 4
</td>
<td>
Ürün 5
Ürün 6
Ürün 7
Ürün 8
</td>
</tr>
</table>

Bunu nasıl yapabilirim? For döngüsü kullandım, ama iki sütunda da aynı 4 veriyi döndürüyor. İstiyorum ki ikinci sütunun başında 5. ürüne geçsin..

 

for döngüsü öncesinde $i = 0 gibi bir değer atayıp sonrasında döngü içerisine $i'nin alacağı değere göre mantıksal bir koşul yapabilirsiniz.

tavsiyem; getbootstrap.com gibi css kütüphanesi kullanmanız <table> yerine <div> kullanarak çok daha kolay ve responsive bir yapıya ulaşmanız mümkün.

Örn:
$=0
while(.......){
$i++;
bla bla bla....

if($i==DEGER){YENİ KOŞUL}

}

avarel dalton

Teşekkür ederim, nedense if döngüsünü düşünmemiştim. Şu an biraz kurcaladım, if ile çözeceğim gibi gözüküyor. Bir de şunu sorayım, alttaki if döngüsünde listelenen ürün sayısının 7 ve katları olduğunda sütunu kapayıp yan sütuna geç demek istiyorum, alttaki kodu yazdım, ama pek istediğim gibi sonuç vermedi, parantez içine ne yazmalıyım? Yazmam gereken şey $i'yi 6'ya böldüğümde sonuç tam sayı çıkarsa, yani 6'nın katı ise.... şeklinde olmalı..

if($i%6 !=0 ){ // ürün sayısını 6'ya böl, sonuç sıfırnda farklı olursa..
...sütunu kapat'...
}

kitap gibi sessiz

şöyle yaptım yine olmadı:

if(is_int($i % 6){ // $i'yi 6'ya böldüğünde çıkan sonuç tam sayı ise..
...
}

kitap gibi sessiz

parantezi kapatmayı unutmussun

goodz

Kapattım, ama yine çalışmadı malesef.

kitap gibi sessiz

su sekilde kolayca yapabilirsin sandbox.onlinephpfunctions.com

tahtakafa

% işaretini / ile değiştirince çalıştı çok şükür.

@tahtakafa, yine de o kodu da inceleyeceğim. Teşekkür ederim.

kitap gibi sessiz

% isareti mod almani saglar. eger 7 ve katlarini kontrol etmek istersen $i++ % 7 === 0 seklinde kontrol saglaman gerekir. soyle:

$i = 0;
foreach($products as $product) {
if ($i++ % 7 === 0) {
// islem
}
}

tahtakafa

Bunu denedim ama çalışmadı?

edit: çalıştı, teşekkürler ;)

kitap gibi sessiz

yaptiginiz her isin mantigini kavramaya calisirsaniz sorun yasamazsiniz anlamadiginiz bir noktayi mutlaka sorun arastirin, iyi eglenceler :)

tahtakafa
1

mobil görünümden çık