Autor | Zpráva | ||
---|---|---|---|
Lubosh Profil |
#1 · Zasláno: 18. 9. 2009, 11:34:54
Dobrý den,
potřeboval bych php zápis, který by mě při zobrazení seznamu vypsal každý druhý jinak. Např: <li class="red">Seznam</li> <li class="blue">Seznam</li> <li class="red">Seznam</li> <li class="blue">Seznam</li> <li class="red">Seznam</li> <li class="blue">Seznam</li> <li class="red">Seznam</li> Jak to jednoduše zapsat?? <li class="<?php .......... ?>">Seznam</li> Děkuju za radu. |
||
Joker Profil |
#2 · Zasláno: 18. 9. 2009, 11:47:56 · Upravil/a: Joker
Lubosh:
Jestli se seznam vypisuje cyklem, tak třeba tahle: $suda = false; while(/* podmínka cyklu */){ echo('<li' if($suda) echo(' class="suda"'); echo('>položka</li>'); $suda = !$suda; } Mimochodem, na rozlišení sudých a lichých řádků stačí jen jedna třída. Pokud by byly potřeba dvě, dá se to udělat analogicky. |
||
Lubosh Profil |
#3 · Zasláno: 18. 9. 2009, 12:02:19
Parse error: syntax error, unexpected ')' in
ale kde? |
||
habendorf Profil |
#4 · Zasláno: 18. 9. 2009, 12:06:18
„echo('<li'“ tahle není uzavřená.
|
||
Lubosh Profil |
#5 · Zasláno: 18. 9. 2009, 12:13:23
Chyba stále trvá :-(
Parse error: syntax error, unexpected ')' in /var/www/libraries/TplParser.php(168) : eval()'d code on line 3 <?php $suda = false; while(/* podmínka cyklu */){ echo('<li') if($suda) echo(' class="suda"'); echo('>položka</li>'); $suda = !$suda; } ?> |
||
radas Profil * |
#6 · Zasláno: 18. 9. 2009, 12:32:53
chybi střednik...
echo('<li') ; |
||
Lubosh Profil |
#7 · Zasláno: 18. 9. 2009, 12:44:40
Pořád stejné :-( i se středníkem :-)
|
||
radas Profil * |
#8 · Zasláno: 18. 9. 2009, 12:56:00
a je napsana ta podminka že u toho while?
|
||
Lubosh Profil |
#9 · Zasláno: 18. 9. 2009, 13:06:57
a je napsana ta podminka že u toho while?
Nevěděl jsem že tam mám něco psát, protože php neumím, proto se ptám na tento zápis :-) Co se tam má zapsat? |
||
foboss Profil * |
#10 · Zasláno: 18. 9. 2009, 13:22:28
<?php $pocet = cislo; $x = 1; for($i=1;$i<=$pocet;$i++){ if($x%2==0){ $class = 'modra'; } if($x%2!=0){ $class = 'cervena'; } echo '<li class='.$class.'>Seznam</li>'; $x++; } ?> |
||
Lubosh Profil |
#11 · Zasláno: 18. 9. 2009, 13:38:13
foboss
To mi nevypíše pro změnu nic :-) |
||
Joker Profil |
#12 · Zasláno: 18. 9. 2009, 13:46:47
Lubosh:
„Parse error: syntax error, unexpected ')' in“ Omlouvám se, nedokončil jsem jeden řádek toho skriptu. Každopádně to není skript na ctrl-c, ctrl-v do stránky a ono to bude fungovat, to má být návod, jak to zhruba udělat! Na kompletní skript to zadání ani neobsahuje dost informací. Poznámka: Možná není od věci dávat do takových ilustračních příkladů základní syntaktické chyby. Zabrání to tomu, aby někdo ten příklad bez jakékoliv znalosti věci zkopíroval a použil, v nejhorším případě by to na první pohled i fungovalo a dal by to na ostrý web. |
||
foboss Profil * |
#13 · Zasláno: 18. 9. 2009, 13:52:28
Lubosh: premenna $cislo je pocet zaznamov (tam musis napisat cislo, alebo premennu v ktorej je cislo s pocetom <li> zaznamov);
css potom bude vyzerat takto: LI.modra { color:aaaaaa; } LI.crevena { color:cccccc; } a este tam mam malu chybicku: echo '<li class="'.$class.'">Seznam</li>'; |
||
Lubosh Profil |
#14 · Zasláno: 18. 9. 2009, 14:00:05
foboss
jj to css bych pochopil (jsem kodér), ale na locale mi to nejede ......... když zadám: for($i=0;$i<=$pocet;$i++) zobrazi se aspoň červena, jinak ale nic. |
||
foboss Profil * |
#15 · Zasláno: 18. 9. 2009, 14:13:50
skus dat do premennej $cislo napr.:
$cislo = 10; alebo nejaky pocet, neviem aky , kedze si nenapisal, aky pocet zaznamov ma mat ten zoznam |
||
Lubosh Profil |
#16 · Zasláno: 18. 9. 2009, 14:15:45
Ještě aby bylo jasno:
CMS mi vypisuje: <li class="">Seznam 1</li> <li class="">Seznam 2</li> <li class="">Seznam 3</li> <li class="">Seznam 4</li> <li class="">Seznam 5</li> <li class="">Seznam 6</li> <li class="">Seznam 7</li> a já bych potřeboval: <li class="trida1">Seznam 1</li> <li class="trida2">Seznam 2</li> <li class="trida1">Seznam 3</li> <li class="trida2">Seznam 4</li> <li class="trida1">Seznam 5</li> <li class="trida2">Seznam 6</li> <li class="trida1">Seznam 7</li> Opravdu netuším jak na to :-), a hledal jsem všude. Kdysi jsem něco takového použil, ale už si nepamatuju jak to bylo :-) |
||
foboss Profil * |
#17 · Zasláno: 18. 9. 2009, 14:19:55
$x = 1; for($i=1;$i<=7;$i++){ if($x%2==0){ $class = 'trida1'; } if($x%2!=0){ $class = 'trida2'; } echo '<li class="'.$class.'">Seznam '.$i.'</li>'; $x++; } skus toto, skopiruj a vloz. |
||
Lubosh Profil |
#18 · Zasláno: 18. 9. 2009, 14:20:34
foboss
Ten výpis není fixní ....... jakýkoli počet .... jde mi jen o to střídání. nebo taky, když mě CMS třeba vypíše několikrát za sebou: <div class="">Text</div> tak když přidám: <div class="">Text</div><?php ..... ?> tak aby to vypsalo (každý druhý): <div class="">Text</div><hr /> <div class="">Text</div> <div class="">Text</div><hr /> <div class="">Text</div> <div class="">Text</div><hr /> <div class="">Text</div> <div class="">Text</div><hr /> nebo třeba (každý třetí): <div class="">Text</div><hr /> <div class="">Text</div> <div class="">Text</div> <div class="">Text</div><hr /> <div class="">Text</div> <div class="">Text</div> <div class="">Text</div><hr /> <div class="">Text</div> <div class="">Text</div> <div class="">Text</div><hr /> |
||
Lubosh Profil |
#19 · Zasláno: 18. 9. 2009, 14:23:33
„$x = 1;
for($i=1;$i<=7;$i++){ if($x%2==0){ $class = 'trida1'; } if($x%2!=0){ $class = 'trida2'; } echo '<li class="'.$class.'">Seznam '.$i.'</li>'; $x++; } skus toto, skopiruj a vloz.“ To by mě vypsalo něco podobného: <div class="">Text</div>1234567 <div class="">Text</div>1234567 <div class="">Text</div>1234567 <div class="">Text</div>1234567 <div class="">Text</div>1234567 <div class="">Text</div>1234567 <div class="">Text</div>1234567 |
||
fakeit Profil * |
#20 · Zasláno: 18. 9. 2009, 14:37:46
<?php // $i = 0 for( $i*2; $i <= count($zaznamy); $i++ ){ $zaznamy[$i]['ca'] = 'sude'; } foreach( $zaznamy as $zaznam ){ if(IsSet($zaznam['ca'])) echo "<li class=\"sudatrida\">". $zaznam['detail'] ."</li>"; else echo "<li class=\"lichatrida\">". $zaznam['detail'] ."</li>"; } ?> |
||
Lubosh Profil |
#21 · Zasláno: 18. 9. 2009, 14:45:55
<?php // $i = 0 for( $i*2; $i <= count($zaznamy); $i++ ){ $zaznamy[$i]['ca'] = 'sude'; } foreach( $zaznamy as $zaznam ){ if(IsSet($zaznam['ca'])) echo "<li class=\"sudatrida\">". $zaznam['detail'] ."</li>"; else echo "<li class=\"lichatrida\">". $zaznam['detail'] ."</li>"; } ?> ----------------------------- Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 38 bytes) in /var/www/libraries/TplParser.php(168) : eval()'d code on line 5 ..................................................................................................................... <?php $i = 0 for( $i*2; $i <= count($zaznamy); $i++ ){ $zaznamy[$i]['ca'] = 'sude'; } foreach( $zaznamy as $zaznam ){ if(IsSet($zaznam['ca'])) echo "<li class=\"sudatrida\">". $zaznam['detail'] ."</li>"; else echo "<li class=\"lichatrida\">". $zaznam['detail'] ."</li>"; } ?> ----------------------------------- Parse error: syntax error, unexpected T_FOR in /var/www/libraries/TplParser.php(168) : eval()'d code on line 3 |
||
fakeit Profil * |
#22 · Zasláno: 18. 9. 2009, 14:50:31
<?php var_dump(count($zaznamy)); ?> a pak to hoď sem :) |
||
Lubosh Profil |
#23 · Zasláno: 18. 9. 2009, 14:53:26
fakeit
int(0) |
||
fakeit Profil * |
#24 · Zasláno: 18. 9. 2009, 15:07:49
Lubosh
Tak definuj proměnnou záznamy! |
||
Lubosh Profil |
#25 · Zasláno: 18. 9. 2009, 15:11:14
fakeit
Vzdávám to ...... nejsem programátor. Zkusím hledat jinde. |
||
fakeit Profil * |
#26 · Zasláno: 18. 9. 2009, 15:14:09
Lubosh
Tak někomu zaplať :P Protože bez vstupu je ti ten kus kódu k ničemu :) |
||
Alphard Profil |
#27 · Zasláno: 18. 9. 2009, 16:15:28
Lubosh:
„Vzdávám to ...... nejsem programátor. Zkusím hledat jinde.“ Zkus hledat pořádně. fakeit: „Tak někomu zaplať :P Protože bez vstupu je ti ten kus kódu k ničemu :)“ PHP FAQ je každému k dispozici bezplatně, stačí nebýt líný. Odlišení lichých a sudých řádků |
||
Časová prodleva: 15 let
|
0