Autor Zpráva
Kokosak
Profil *
při obyčejným nahrávání více záznamů z db používám tohle:
while ($data = mysql_fetch_array($sql, MYSQL_BOTH)){

(v $sql je sql dotaz)
jenomže teď to potřebuju udělat složitějc. Potřebuju aby mi to vypisovalo čísla kalikrát to ciklus provedlo. No prostě něco takovíhleho:
for ($i = 1; $i <= 4; ++$i) {
echo $i;}

jenomže do toho musím něják dostat ten sql dotaz.

A ještě jedna otázka:
Potřebuju aby u každýho druhýho řádku v tabulce byla jiná barva pozadí. To znamená že potřebuju při nahrávání u každýho druhýho řádku změnil background.

Předem děkuji.
aknerats
Profil *
$c = 0; 
while(true) 
{ 
   $class = ($c%2==0)?'even':'odd'; 
   neco; 
   echo '<div class="'.$class.'">.....'; 
   $c++; 
}
Kokosak
Profil *
Nejspíš sem nejvíc blbej, nevím co je even a odd. A hlavně, neudělá mi tohle nekonečnej cyklus?
aknerats
Profil *
jeeee :x

even = sudy, odd = lichy
ano je to nekonecnej cyklus, do while si dej co potrebujes (coz, bys pochopil se spetkou snahy, kdyz o kus dal vidis prikaz "neco" a vubec cela vec jak jaksi "v pseudokodu")

Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Majkl578
Profil
for ($i = 1; $data = mysql_fetch_assoc($sql); $i++) {
    echo $i;
}

aknerats: ???
Kokosak
Profil *
[#4] aknerats
Tak sorry to vidím poprví.
[#5] Majkl578
Díky moc naprosto srozumitelný.
aknerats
Profil *
No hlavne ze v tom naprosto srozumitelnym mas ty barveni sudejch a lichejch radku, ze jo.

Btw mam dojem ze ten for neni efektivni, protoze zjistuje dylku toho pole pri kazdym prubehu, co imo while nedela (a ty jsi tam ten while ve svym prikladu mel). No nic nechme to tak, slepice je vlastne taky ptak ;)
Joker
Profil
Kokosak:
Ono to může zůstat i ve while, jak to bylo na začátku:
$i = 1;
while ($data = mysql_fetch_array($sql, MYSQL_BOTH)){
$trida = (($i % 2) == 0) ? "sudy" : "lichy";
// číslo řádku je $i, řádku se nastaví class="$trida" a v CSS se udělají barvy pro třídy sudy a lichy
...
$i++;
}
aknerats
Profil *
^^ coz, je to, co jsem psal na zacatku
__construct
Profil
nemusíš tam zbytočne strkať nejakú podmienku - použi toto
panther
Profil
__construct:
použi toto
...což nefunguje všude a proč do všeho zatahovat JS, který to bude fixovat, že? Přidání třídy je jednodušší, ničemu ta třída nepřekáží. Pokud bychom šli do důsledků, nemusí být dvě třídy, stačí jen jedna (třeba sudá, liché řádky mohou zůstat bez třídy).
Joker
Profil
aknerats:
^^ coz, je to, co jsem psal na zacatku
Až na to while(true)
(a pojmenovat třídy „even“ a „odd“ zjevně taky nebyl nejlepší nápad, protože to Kokosak nepochopil)

__construct:
nemusíš tam zbytočne strkať nejakú podmienku - použi toto
Pokud to jde jednoduše řešit přidáním třídy na serveru, řešil bych to přidáním třídy. CSS nth-child má zatím moc malou podporu.
__construct
Profil
Joker:
moc malou podporu
Podporujú to všetky moderné (nie staršie ako 2 roky) prehliadače okrem I-Explorera ..
panther
Profil
__construct:
okrem I-Explorera
to je to podstatné. Ještě, žes to dodal :-)
Joker
Profil
__construct:
Podporujú to všetky moderné (nie staršie ako 2 roky) prehliadače okrem I-Explorera
Ano, kromě IE 6, 7, 8 a Firefoxu do 3.5 (to taky není starší než 2 roky).

Takže podle aktuálních statistik (ČR) to nebude fungovat asi tak polovině návštěvníků.
Alphard
Profil
Kokosak:
Kdyby vám výše uvedené kódy nestačily, tak Nejčastější potíže s PHP (FAQ).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0