Autor | Zpráva | ||
---|---|---|---|
zeal Profil |
Ahojte snazim sa vytiahnut z db urcitu cast textu sposobom
$this->template->set_view = $this->model->getSettings()->where(array('select'=> 'news', 'public' => 1,SUBSTRING_INDEX('content','',40) ))->count('*'); neviete kde mozem mat chybu ? bez SUBSTRING_INDEX('content','',40) mi to funguje v poriadku avsak je chcem vyberat len cast celeho textu |
||
Keeehi Profil |
#2 · Zasláno: 20. 8. 2012, 22:04:26
A takto?
array('select'=> 'news', 'public' => 1, 'SUBSTRING_INDEX(\'content\',\'\',40)') Na otestování použít dibi::query místo dibi::test .
|
||
zeal Profil |
#3 · Zasláno: 20. 8. 2012, 22:26:03
Keeehi:
Tak mi to uz sice chybu nevyhadzuje ale vypisuje to stale cely text z tabulky |
||
Keeehi Profil |
#4 · Zasláno: 20. 8. 2012, 22:39:30
zeal:
Nějak jsem u toho nepřemýšlel, ten substring_index přece není podmínka. Tudíž buď upravit select v modelu nebo to ořezat až v šabloně. Jinak úplně stačí funkce SUBSTR. |
||
zeal Profil |
#5 · Zasláno: 20. 8. 2012, 23:01:20 · Upravil/a: zeal
Keeehi:
Nieje to podmienka? Predsa 40 a \'\' neznamena ze zoberie z db 40 slov oddelenych medzerou ? mam na mysli 40 medzier ako oddelovacou medzi slovami |
||
Keeehi Profil |
#6 · Zasláno: 21. 8. 2012, 00:40:58
zeal:
„Nieje to podmienka?“ Ne není. Za where není napsáno jak se mají data zobrazit nebo naformátovat. Za where má být výraz který je true/false a podle toho se celý čádek mezi výsledky buď přidá a nebo ne. To vaše se týká "forátování" a není to podmínka, takže to má patřit za SELECT. „40 slov oddelenych medzerou ?“ V prvním příspěvku ale mezeru jako oddělovač nemáte, máte tam prázdný řetězec. Nevím, jestli by to vůbec fungovalo, ale pokud ano, zobrazilo by to nejspíše 40 písmen a ne slov. Pokud chcete 40 slov, pak substring_index je správně, pokud tam nezapomenete tu mezeru dodat. |
||
Časová prodleva: 12 let
|
0