Autor Zpráva
Jany
Profil *
Ahoj,
přes mysql vytahuji z databáze data, vypadá to nějak takto:

<?
...
$result=mysql_query("SELECT * FROM `$tb`");
echo ("<table class=\"tabulka\" align=\"center\">");
$vysledek = mysql_query("SELECT * FROM `$db`.`$tb` WHERE ..., $spojeni);
while ($zaznam = mysql_fetch_array($vysledek) ):
echo ("<tr><td>".$zaznam["10"]."</td></tr>");
endwhile;
echo ("</table>");
?>


jak zařídit střídavě nějakou změnu na výstupu (např. jiná barva pozadí buňky)?






Jestli jsem to nenapsal jasně, tak tady je příklad:

V současné chvíli vypadá výstup z db ve tvaru:

<table>
<tr><td>bla bla</td></tr>
<tr><td>bla bla</td></tr>
<tr><td>bla bla</td></tr>
<tr><td>bla bla</td></tr>
<tr><td>bla bla</td></tr>
<tr><td>bla bla</td></tr>
<table>

a já chci dostat něco ve tvaru

<table>
<tr><td>bla bla</td></tr>
<tr><td bgcolor="red">bla bla</td></tr>
<tr><td>bla bla</td></tr>
<tr><td bgcolor="red">bla bla</td></tr>
<tr><td>bla bla</td></tr>
<tr><td bgcolor="red">bla bla</td></tr>
<table>
jakubroz
Profil
třída HTMLTable
Jany
Profil *
Aby bylo jasno:

nejedná se mi o jinou barvu pozadí tabulky, to byl pouze příklad, ve skutečnosti potřebuji:

<table>
<tr><td>fotka</td><td>jméno</td></tr>
<tr><td>fotka</td><td>jméno</td></tr>
<tr><td>fotka</td><td>jméno</td></tr>
<tr><td>fotka</td><td>jméno</td></tr>
<tr><td>fotka</td><td>jméno</td></tr>
</table>

nechat zobrazit jako

<table>
<tr><td>jméno</td><td>fotka</td></tr>
<tr><td>fotka</td><td>jméno</td></tr>
<tr><td>jméno</td><td>fotka</td></tr>
<tr><td>fotka</td><td>jméno</td></tr>
<tr><td>jméno</td><td>fotka</td></tr>
</table>
Alphard
Profil
používá se konstrukce $i++%2;
$i se musí ještě před cyklem definovat, jinak to hodí notice
poté se už jen v podmínce zjistí, jesli je vrácena 0 nebo 1 a podle toho se pokračuje
ninja
Profil
Alphard: jednodusi mi prijde proste
$i = 1 - $i;
Cup
Profil
$pocet = 0;
while($row=mysql_fetch_array($dotaz)):
echo " <tr class=\"".(($pocet++ % 2)? "suda" : "licha")."\">"; // barav radku se mění podle toho zda je pocet sudej nebo lichej, takze ti lastne vyleze no nějak si s tím poihraj ...
Jany
Profil *
Proč jsem to vyřešil takto:

while ($zaznam = mysql_fetch_array($vysledek) ):
if($ucelna==2){}else {$ucelna=1;}
if ($ucelna==1){echo ("<tr><td>".$zaznam["10"]."</td><td><IMG SRC=\"foto/".$zaznam["11"]."\"></td></tr>");
$ucelna=2;} else {$ucelna=1;}
if ($ucelna==1){echo ("<tr><td><IMG SRC=\"foto/".$zaznam["11"]."\"></td><td>".$zaznam["10"]."</td></tr>");}
endwhile;


?
Sicario
Profil *
Jany
Proč jsem to vyřešil takto:
if($ucelna==2){}else {$ucelna=1;} ...

To taky nevim, ale at zije prehlednost:-)

$pocet = 0;
while ($zaznam = mysql_fetch_array($vysledek) ){
if($pocet++ % 2)
  echo ("<tr><td>".$zaznam["10"]."</td><td><IMG SRC=\"foto/".$zaznam["11"]."\"></td></tr>");
else
  echo ("<tr><td><IMG SRC=\"foto/".$zaznam["11"]."\"></td><td>".$zaznam["10"]."</td></tr>");
}


Jinak doporucuji pouzivat mysql_fetch_assoc. Az pri upravovani SQL zmenis poradi sloupcu, odpadne ti spousta neprijemnych prekvapeni pri vypisu dat.

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