[]

PHP'den anlayanlara bir soru!

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  (05.01.19 11:52:21 ~ 11:53:26) 
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  (05.01.19 12:15:52) 
şö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  (05.01.19 12:22:31) 
parantezi kapatmayı unutmussun


  • goodz  (05.01.19 12:30:06) 
Kapattım, ama yine çalışmadı malesef.


  • kitap gibi sessiz  (05.01.19 12:31:31) 
su sekilde kolayca yapabilirsin sandbox.onlinephpfunctions.com


  • tahtakafa  (05.01.19 12:33:27) 
% 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  (05.01.19 12:35:03 ~ 12:36:18) 
% 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  (05.01.19 12:39:51) 
Bunu denedim ama çalışmadı?

edit: çalıştı, teşekkürler ;)
  • kitap gibi sessiz  (05.01.19 12:48:43 ~ 12:50:19) 
yaptiginiz her isin mantigini kavramaya calisirsaniz sorun yasamazsiniz anlamadiginiz bir noktayi mutlaka sorun arastirin, iyi eglenceler :)


  • tahtakafa  (05.01.19 12:51:51) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.