Autor | Zpráva | ||
---|---|---|---|
microfox Profil * |
#1 · Zasláno: 10. 7. 2011, 17:32:24
Zdravim, mam takovýto kód a takto vypisuji z DB
<?php require "db.php"; // pripojeni k databazi $clanek_html='<table id="slideshow_clanky" border="1">'; $vycuc_tabulky=mysql_query("select * from Tabulka ORDER BY id DESC LIMIT 1"); while($data=mysql_fetch_assoc($vycuc_tabulky)) { $clanek_html.='<tr align="center"> <td class="vyska_nadpisu"><div class="nadpis_clanku_slideshow"><b>'.$data['nadpis'].'</b></div></td> </tr><tr><td class="text_clanku_slideshow">'.$data['clanek'].'</td> </tr>'; } $clanek_html.='</table>'; ?> <table> <tr><td><?php echo $clanek_html; ?></td></tr> </table> potreboval bych na to napasovat neco takoveho a nevim si s tim moc rady... if(strlen($text) > 200) echo substr($text, 0, 200) . "..."; else echo $text; Vedel by nekdo? |
||
microfox Profil * |
#2 · Zasláno: 10. 7. 2011, 17:33:45
potrebuju mimochodem zkratit tento clanek respektive tuto promennou... '.$data['clanek'].'
|
||
panther Profil |
#3 · Zasláno: 10. 7. 2011, 17:37:12 · Upravil/a: panther
microfox:
</tr><tr><td class="text_clanku_slideshow">'. (strlen($data['clanek']) > 200 ? substr($data['clanek'], 0, 200) . '…' : $data['clanek']) .'</td> </tr>'; |
||
microfox Profil * |
#4 · Zasláno: 10. 7. 2011, 17:45:01
hm to je divny... nadpis mi zmizel uplne a na pocet znaku to nereaguje...ano skonci ten text driv ale kdyz dam 50 treba tak je to porad stejny...
|
||
microfox Profil * |
#5 · Zasláno: 10. 7. 2011, 18:05:06
tak bud jsem slepej a nevidim tam chybu a nebo fakt nevim... :(
|
||
Tori Profil |
#6 · Zasláno: 10. 7. 2011, 18:08:32 · Upravil/a: Tori
microfox:
Osekávat na x znaků to můžete už v dotaze, pokud nepotřebujete zároveň i celý článek (mysql funkce SUBSTR). Pokud používáte utf8, tak bych místo substr použila spíš mb_substr nebo iconv_substr (nepřeseknou v půlce vícebytový znak, dtto na zjištění délky mb_/iconv_strlen). Eventuelně by to šlo celé hodit do dotazu, ale vyzkoušejte, jestli to nebude o moc pomalejší (nemám teď po ruce dostatečně dlouhé texty v DB). SELECT CONCAT(SUBSTR(`clanek`, 1, 200), IF(LENGTH(`clanek`) > 200, '…', '')) |
||
microfox Profil * |
#7 · Zasláno: 10. 7. 2011, 18:11:48
O tom jsem také přemýšlel, že to hodím takhle do SQL, ale ani to nefunguje...Právě jsem to vyzkoušel... :-( zatím vůbec netuším co s tím provedu... ale snad se na něco přijde... možná ;-)
|
||
microfox Profil * |
#8 · Zasláno: 10. 7. 2011, 18:30:51
Teď to mám dokonce takto:
<?php require "db.php"; // pripojeni k databazi $clanek_html='<table id="slideshow_clanky" border="1">'; $vycuc_tabulky=mysql_query("select concat( substring_index( `clanek` , ' ', 100 ) , '...' ) from Tabulka ORDER BY id DESC LIMIT 1 "); while($data=mysql_fetch_assoc($vycuc_tabulky)) { $clanek_html.='<tr align="center"> <td class="vyska_nadpisu"><div class="nadpis_clanku_slideshow"><b>'.$data['nadpis'].'</b></div></td> </tr><tr><td class="text_clanku_slideshow">'.$data['clanek'].'</td> </tr>'; } $clanek_html.='</table>'; ?> <table> <tr><td><?php echo $clanek_html; ?></td></tr> </table> Prikaz v SQL v DB funguje...ovsem kdyz to dam takhle tak to nevypise ani tuk... |
||
microfox Profil * |
#9 · Zasláno: 10. 7. 2011, 18:41:47
panther: Uz to jde... musel jsem tam nastavit vic jak 200. S 200 se mi to vzdycky zkur*ilo a kdyz je tam 900 tak to jde...
|
||
microfox Profil * |
#10 · Zasláno: 10. 7. 2011, 18:46:19
Je tam ale dobrá chyba... když je text jejich vyřazením v semifin&aacut
ukončí to prostě po 1800 slovech dejme tomu a zrovna je tam á nebo é a takhle to zprzní... šlo by tomu ňák zamezit? |
||
microfox Profil * |
#11 · Zasláno: 10. 7. 2011, 19:11:45
je to prej neco s kodovanim jsem se ted docetl ale ja pouzivam windows-1250
Je mozne to nak dat dohromady? Vi nekdo? |
||
Tori Profil |
#12 · Zasláno: 10. 7. 2011, 19:13:11
microfox:
„Prikaz v SQL v DB funguje...ovsem kdyz to dam takhle tak to nevypise ani tuk...“ Musíte dát tomu nově vytvořenému sloupci nějaký alias, jinak se bude jmenovat "concat(..." select `nadpis`, concat( substring_index( `clanek` , ' ', 100 ) , '...' ) AS 'clanek' from Tabulka ORDER BY id DESC LIMIT 1 |
||
microfox Profil * |
#13 · Zasláno: 10. 7. 2011, 19:23:26
Tori: Moc díky, teď už to funguje i takto ;-)
|
||
Časová prodleva: 13 let
|
0