Autor Zpráva
s3t
Profil
Poradte mi prosim ako mam napisat cyklus aby mi vytvorilo nasobilku od 1 do 10 v tabulke , + dodatocne vyfarbit pozadie kazdeho parneho/sude alebo neparneho/liche cislo
Fisir
Profil
Reaguji na s3ta:
Buď v JavaScriptu na straně klienta, nebo na serveru v PHP. Upřesni, co ti nefunguje, nebo se obrať na kategorii Práce a zakázky.
s3t
Profil
<table>
<?php
  for($a = 1; $a <= 10; $a++)
  {
    echo '<tr>';
    for($b = 1; $b <= 10; $b++)
    {
      echo '<td>'.$a*$b.'</td>';
    }
    echo '</tr>';
  }  
?>
</table>

vyzera to nejak takto akorat neviem to vyfarbenie
Fisir
Profil
Reaguji na s3ta:
Jde to s použitím %2:
<?php
for($a = 1; $a <= 10; $a++){
    echo '<tr>';
for($b = 1; $b <= 10; $b++){
    echo '<td class="';
    echo (($a+1*$b) %2) ? "sude" : "liche";
    echo '">'.$a*$b.'</td>';
}
    echo'</tr>';
}  
?>
han5vk
Profil
Takže potrebuješ len podľa toho aký výsledok ti vyšiel /či 3 alebo 4/ vyfarbiť pozadie bunky tabuľky? Na googli som našiel funkciu php fmod(), pričom vezmeš svoj výsledok ako prvý parameter, druhý dáš 2 a keď vráti 0, je to párne, ak nie, je to nepárne číslo.

nejako takto
<?php
 for($a = 1; $a <= 10; $a++)
  {
    echo '<tr>';
    for($b = 1; $b <= 10; $b++)
    {
      // Ak je párne, dám mu napr. modrú farbu
      if(fmod($a*$b,2)==0) {
        echo "<td style='backround-color: blue;'>".$a*$b."</td>";
        }
     // Ak je nepárne, bude červené
     else {
       echo "<td style='backround-color: red;'>".$a*$b."</td>";
       }
    }
    echo '</tr>';
  }
?> 
s3t
Profil
ukazuje kazde jedno cislo v samostatnej bunke? nejak mi to blbne , ak to mas moznost nejak otestovat daj mi vediet
juriad
Profil
Podobně jako Fisir, ale obecněji (umí zbytek po libovolném dělení).
<style>
.zbytek0 {
        background-color: red;
}
.zbytek1 {
        background-color: yellow;
}
</style>
<table>
<?php
  $delitel = 2; # doplň si své číslo
  for($a = 1; $a <= 10; $a++)
  {
    echo '<tr>';
    for($b = 1; $b <= 10; $b++)
    {
      $soucin = $a*$b;
      echo '<td class="zbytek' . ($soucin % $delitel) . '">'.$soucin.'</td>';
    }
    echo '</tr>';
  }  
?>
</table>

Doplněn styl, když už si hrajeme s barvičkami

Fisir:
Jsi si jistý tou podmínkou na 6. řádku? Podbarvuješ každou druhou buňku, ne buňky s lichými/sudými čísly.


han5vk:
Jsi si jistý, že chceš dělit nulou? A proč vůbec používáš funkci fmod, když pracujeme jen s celými čísly?
s3t
Profil
teoria ma byt asi taka ze vydelim cislo a ak mi zostane zvysok 1 podfarbi mi bunku v ktorej je to cislo
han5vk
Profil
juriad:
Vravím, že som to práve vygooglil, preto fmod, zabudol som na existenciu operátora "%" . Aha. Vidím, tá nula je preklep, má tam byť 2, opravil som.
Fisir
Profil
Reaguji na han5vka juriada:
Podbarvuješ každou druhou buňku
Opravdu? Já měl za to, že přes ($a+1*$b) %2 zjistím, jestli je výsledek sudý, nebo lichý. Tak se přece počítá i výsledná hodnota v buňce.
juriad
Profil
Fisir:
Ee, ty počítáš součet ($a + $b) % 2 (násobení jedničkou s tím nic neudělá) a to rozhodně není stejné jako ($a * $b) % 2
Fisir
Profil
Reaguji na juriada:
Ano, blb jsem já. Násobení má přednost.
s3t
Profil
ok vdaka vsetkym co sa pripojili a poradili este jedna otazka co presne znamena tento riadok

echo '<td class="zostatok' . ($sucin % $delitel) . '">'.$sucin.'</td>';
//vypise $zostatok = class je premenna ktora sa casto meni? co sposobuje to % a preco sa davaju bodky napr. tu '.$sucin.' a tu
' . ($sucin % $delitel) .
han5vk
Profil
Precitaj si nieco o php. Tie bodky su spojenie retazca.
<?php
$premenna="//jakpsatweb//";
echo "nejaky text".$premenna."dalsi text";
Vypise: nejaky text //jakpsatweb// dalsi text


vobec som nepochopil.tvoju vetu "$zostatok= class je premenna ktora sa.casto.meni"

to percento znamena zvysok po deleni a zistuje sa tym vlastne ci je parne (zvysok je 0) alebo neparne(zvysok 1). Teda takto, pri.nastaveni delitela na 2 napr.:

(5*9)%2 = 1

Lebo po vynasobeni(5*9)si.to vydelime 2kou a to je 22 a zvysok 1. To percento tam je namiesto lomitka.na.delenie, aby to vratilo zvysok (0 alebo 1).

Potom ti to.nastavi triedu bud zostatok0 /pre parne cisla/ alebo zostatok1 /pre neparne cisla/.

Ak chces robit taketo a ine ficurky, mal by si si nieco pozriet o php. Vidno ze.ten povodny kod na tabulku si odniekial len stiahol, ked nevies co su bodky medzi uvodzovkami a premennymi..
Snad si rozumel mojmu vysvetlovaniu.
s3t
Profil
han5vk:

ano velka vdaka porozumel som, toto som potreboval len na teraz, vobec sa o PHP nemienim zaujimat pretoze nemam cas a chut sediet za PC

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: