Autor | Zpráva | ||
---|---|---|---|
Jany Profil * |
#1 · Zasláno: 16. 11. 2008, 22:31:38
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 |
#2 · Zasláno: 16. 11. 2008, 22:32:37
třída HTMLTable
|
||
Jany Profil * |
#3 · Zasláno: 16. 11. 2008, 22:37:07
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 |
#4 · Zasláno: 16. 11. 2008, 23:04:40
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 |
#5 · Zasláno: 17. 11. 2008, 00:10:35
Alphard: jednodusi mi prijde proste
$i = 1 - $i; |
||
Cup Profil |
#6 · Zasláno: 17. 11. 2008, 12:16:15
$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 * |
#7 · Zasláno: 17. 11. 2008, 18:03:58
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 * |
#8 · Zasláno: 18. 11. 2008, 00:37:52
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. |
||
Časová prodleva: 16 let
|
0