Tablo renklendirme

zuzzzuu

Decapat
Katılım
20 Şubat 2020
Mesajlar
30
Makaleler
1
Arkadaşlar merhaba. PHP'de tablomu dama tahtası gibi renklendirmem lazım. Benimki dama tahtası gibi olmuyor. Aşağıdaki resim gibi oluyor. Sizce ne yapmalıyım?
 

Dosya Ekleri

  • 1608035208017.png
    1608035208017.png
    860 bayt · Görüntüleme: 60
CSS:
tr:nth-child(even) td:nth-child(2n+2) {
    background:#ddd;
}

tr:nth-child(odd) td:nth-child(2n+1) {
    background:#ddd;
}

tr:nth-child(even) td:nth-child(2n+1) {
    background:#aaa;
}

tr:nth-child(odd) td:nth-child(2n+2) {
    background:#aaa;
}
 
CSS:
tr:nth-child(even) td:nth-child(2n+2) {
background:#ddd;
}

tr:nth-child(odd) td:nth-child(2n+1) {
background:#ddd;
}

tr:nth-child(even) td:nth-child(2n+1) {
background:#aaa;
}

tr:nth-child(odd) td:nth-child(2n+2) {
background:#aaa;
}

Hocam CSS olmadan PHP'nin içine bir şeyler yazıp ayarlayamaz mıyız?
 
@zuzzzuu Yaparsın ama özel bir nedenin yoksa olması gerekeni CSS kullanman. PHP olsun istiyorsan mantıksal bir işleyişin içine bunu yerleştirmen tabii ki kod kalabalığı olacaktır. Mesela:
PHP:
$tabloData = [
  0 => [
    'dil' => 'PHP',
    'versiyon' => 8
  ],
  1 => [
    'dil' => 'Python',
    'versiyon' => 3
  ],
  2 => [
    'dil' => 'C',
    'versiyon' => 5
  ],
  3 => [
    'dil' => 'C++',
    'versiyon' => 6
  ]
];

function td($ix) {
  static $i = 0;
  return (($ix + $i++) % 2) === 0
  ? 'tdAcik'
  : 'tdKapali';
}

echo '<table>';
for ($ix = 0; $ix < count($tabloData); $ix++) {
  echo '
  <tr>
    <td class="'.td($ix).'">
      ' . $tabloData[$ix]['dil'] . '
    </td>
    <td class="'.td($ix).'">
      ' . $tabloData[$ix]['versiyon'] . '
    </td>
  </tr>
  ';
  $i++;
}
echo '</table>';
Çıktı:
Kod:
<table>
  <tr>
    <td class="tdAcik">
      PHP
    </td>
    <td class="tdKapali">
      8
    </td>
  </tr>

  <tr>
    <td class="tdKapali">
      Python
    </td>
    <td class="tdAcik">
      3
    </td>
  </tr>

  <tr>
    <td class="tdAcik">
      C
    </td>
    <td class="tdKapali">
      5
    </td>
  </tr>

  <tr>
    <td class="tdKapali">
      C++
    </td>
    <td class="tdAcik">
      6
    </td>
  </tr>
  </table>
 
PHP bir tasarım dili değildir. Adı üstünde programlama dili. Hiçbir görsel düzenlemeyi PHP ile yapamazsın illa ki CSS kullanman gerekecek. Zaten PHP'yi bu iş için kullanırsan boşu boşuna bir yük bindirirsin sayfaya. Arkadaşın eklediği gibi classlarla veya style Tag'leri ile çözülür. Fakat bunlar da yine CSS'e giriyor. Yani kaçışın yok :)
 
PHP bir tasarım dili değildir. Adı üstünde programlama dili. Hiçbir görsel düzenlemeyi PHP ile yapamazsın illa ki CSS kullanman gerekecek. Zaten PHP'yi bu iş için kullanırsan boşu boşuna bir yük bindirirsin sayfaya. Arkadaşın eklediği gibi classlarla veya style Tag'leri ile çözülür. Fakat bunlar da yine CSS'e giriyor. Yani kaçışın yok :)

Hocam anlatmaya çalıştığım şey if (($satir+$sutun)%2==0) bu şekilde. Yanlış anlatmışım ya da anlatamamışım :(
 

Yeni konular

Geri
Yukarı