| | |
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Autor | Správa |
---|
Registrovaný: 25.07.07 Prihlásený: 27.11.14 Príspevky: 217 Témy: 38 Bydlisko: Kálnica city | Napísal Matho: 02.02.2008 18:45 | |
|
Robim vyhladavanie na stranku. Do $text sa mi nacita obsah stlpca z sql tabulky, kde sa mi vyskytuje hladane slovo . Hladane slova mam ulozene v poli $slova .
Potreboval by som, aby mi hladane slova vyfarbilo na cerveno a zobrazilo mi len tie vety v ktorych sa hladane slovo vyskytuje a pridalo pred/za vetu tri bodky ak sa za nou/pred nou este daka veta vyskytuje.
toto mozno pomoze..
Kód: if (!empty($text)){ $zaciatok="<font color=\"#FF0000\">"; $koniec="</font>"; foreach ( $slova as $slova2 ){ $vzor[$i]=$slova2; $nahrada[$i]=$zaciatok.$slova2.$koniec; $text_zobraz =str_replace($vzor,$nahrada,$text); } echo "\n Text:<br>$text_zobraz<br><br>"; } }
ak by sa nasla daka dobra dusa bol by som rad
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 Bydlisko: 127.0.0.1 (... | Napísal qacer: 02.02.2008 20:45 | |
|
Prisaham bohu ze aj ja presne toto riesim a mam to hotove.
Je toho ale hodne a nechcelo by sa mi to prisposobovat tvojmu...ak ces hodim sem cely moj zdrojac a uprav si ho...to uz bude jednoduche
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 25.07.07 Prihlásený: 27.11.14 Príspevky: 217 Témy: 38 Bydlisko: Kálnica city | Napísal autor témy Matho: 02.02.2008 20:51 | |
|
ok daj zdrojak, mne daco z toho funguje len hlavne o to skracovanie sami jedna..
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 Bydlisko: 127.0.0.1 (... | Napísal qacer: 02.02.2008 21:22 | |
|
Kód: <?php $slova=explode(" ", $slovo);//rozdeli hladany vyraz po slovach cez medzery $spolu=count($slova); //spocita slova $prikaz=""; for ($i=0; $i<$spolu; $i++){ //vytvori prikaz pre vyhladavanie pre presny pocet slov $prikaz.="text like \"%".$slova[$i]."%\" || nadpis like \"%".$slova[$i]."%\""; if (($i+1)!=$spolu)$prikaz.=" || "; } $vysledok=mysql_query("select text, nadpis from clanky where ".$prikaz." "); //vybet z db if (mysql_num_rows($vysledok)=="0")echo "Hladanému výrazu nevyhovuje žiaden článok!"; //ziaden clanok nevyhovuje else{ while ($zaznam=MySQL_Fetch_Array($vysledok, MYSQL_NUM)){//pre jednotlive vybery urobi vypis $zaznam[0]=str_replace(" ", " ", strip_tags(syntax($zaznam[0]))); //nahradi viac medzier jednou $pozicia="99999999999999";//definovanie maximalnej pozicie(cim vecsie cislo tym lepsie) for ($i=0; $i<$spolu; $i++){//zistenie ktore hladane slovo je v texte prve $strp=strpos($zaznam[0], $slova[$i]); if ($strp<$pozicia && $strp!==false)$pozicia=$strp; }
if(substr($zaznam[0], $pozicia, 300)!==false)$zaznam[0]=substr($zaznam[0], $pozicia, 300);//u mna hlada aj v nadpise a ten zobrazuje cely, tak pokial sa nachadza v hladane slovo aj v texte zobrazi ho od toho slova a to presne 300 znakov(namiesto 300 znakov si mozes dat aj ine) else $zaznam[0]=substr($zaznam[0], 0, 300);//pokial slovo nie je v texte zobrazi prvych 300 znakov(namiesto 300 znakov si mozes dat aj ine)
for ($i=0; $i<$spolu; $i++){ //samotne nahradenie slova zvyraznenym slovom...pri verzii php 5 sa da pouzit aj str_ireplace, inak str_replace(lepise bude CSS ako <font>) $phpversion = substr(phpversion(), 0, 3); if($phpversion >= 5.0){ $zaznam[1]=str_ireplace(htmlspecialchars($slova[$i]), "<span style=\"color:red;\">".strtoupper(htmlspecialchars($slova[$i]))."</span>", $zaznam[1]); $zaznam[0]=str_ireplace($slova[$i], "<span style=\"color:red;\>".strtoupper($slova[$i])."</span>", $zaznam[0]); } else{ $zaznam[1]=str_replace(htmlspecialchars($slova[$i]), "<span style=\"color:red;\>".strtoupper(htmlspecialchars($slova[$i]))."</span>", $zaznam[1]); $zaznam[0]=str_replace($slova[$i], "<span style=\"color:red;\>".strtoupper($slova[$i])."</span>", $zaznam[0]); } }
echo "<a href= \"index.php?clanok=1\" title=\"Zobraziť celý článok\" class=\"head\">".$zaznam[2]."</a><br />";//zobrazi nadpis echo "...".$zaznam[1]."...<br /><br />";//zobrazi text } ?>
okomentoval som kazdy krok, snad pomoze
keby cosi nebolo jasne sa este ozvi
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 06.12.06 Prihlásený: 21.02.15 Príspevky: 183 Témy: 59 |
cau skusil som ten tvoj script ale stale mi pise : Fatal error: Call to undefined function syntax() in C:\wamp\www\new_crazy\files\hladaj.php on line 18
.. tento riadok akosi nechce strajkuje : $zaznam[0]=str_replace(" ", " ", strip_tags(syntax($zaznam[0]))); //nahradi viac medzier jednou
|
|
Registrovaný: 26.07.06 Prihlásený: 20.03.16 Príspevky: 1378 Témy: 90 Bydlisko: Slovakia-Ko... | Napísal kmsa: 03.02.2008 10:20 | |
|
a dobre si si odriadkoval ze vies presne ktory?
_________________ CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých |
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 Bydlisko: 127.0.0.1 (... | Napísal qacer: 03.02.2008 10:22 | |
|
Punker661 píše: cau skusil som ten tvoj script ale stale mi pise : Fatal error: Call to undefined function syntax() in C:\wamp\www\new_crazy\files\hladaj.php on line 18 .. tento riadok akosi nechce strajkuje : $zaznam[0]=str_replace(" ", " ", strip_tags(syntax($zaznam[0]))); //nahradi viac medzier jednou
jaj samozrejme...funkcia syntax() je mnou definovana a prevadza bbcode tagy na klasicke html tagy...vyhod ju.
som pisal ze som sem hodil moj neupraveny, len treba prisposobit
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 06.12.06 Prihlásený: 21.02.15 Príspevky: 183 Témy: 59 |
aj som si myslel ze to je neaka tvoja funkcia len sa mi ju akosi nedari dat prec odtial
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 Bydlisko: 127.0.0.1 (... | Napísal qacer: 03.02.2008 10:38 | |
|
Kód: $zaznam[0]=str_replace(" ", " ", strip_tags($zaznam[0]));
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 03.02.08 Prihlásený: 03.02.08 Príspevky: 1 Témy: 0 |
mne to ukazuje zase chybu na riadku 21 : $strp=strpos($zaznam[0], $slova[$j]);
uz to skusam asi hodinu a neviem nato prist .
toto mi vypisuje : Warning: strpos() [function.strpos]: Empty delimiter.
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 Bydlisko: 127.0.0.1 (... | Napísal qacer: 03.02.2008 11:13 | |
|
mas hore definovanu premennu $slovo? je to vlastne retazec ktory hladame, ktory rozdelime na slova...moze to byt bud $slovo=$_GET['search'];, alebo $slovo=$_POST['search'];...plus este kontrola ci v nich nieco je Kód: if(trim($_POST['search'])=="")echo "Nie je co hladat!"; else{ //samotny skript }
som to tam nedaval lebo to uz si dosadte sami ako vam vyhovuje...tu su len nejake priklady
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 25.07.07 Prihlásený: 27.11.14 Príspevky: 217 Témy: 38 Bydlisko: Kálnica city | Napísal autor témy Matho: 05.02.2008 15:47 | |
|
diki idem mi to , len asi si to este trochu pomenim (ak budem vediet ako).. je to totiz nie prilis najlepsie ked hladane slovo zobrazi ako prve, ale diki velmi si mi pomohol
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
však LIKE nie?
SELECT * FROM table WHERE Meno LIKE='pes'
|
|
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Vypisanie z databazy v PHP, ASP | 8 | 472 | 19.06.2009 11:55 jtomcik | | Delenie viet v PHP, ASP | 6 | 933 | 15.07.2008 16:18 vladooo | | Bindovanie viet na klávesy v Bezpečnosť a firewally | 1 | 382 | 07.12.2014 16:35 shiro | | Charakterizujte Adminov, Modov a userov niekolkymi slovami [ Choď na stránku: 1 ... 10, 11, 12 ] v Krčma | 336 | 28394 | 13.05.2019 23:40 werwest | | Word 2007- Ako vypnúť červené čiarky pod chybnými slovami... v Ostatné programy | 1 | 614 | 06.05.2011 22:11 nBXXL | | Program na preklad madarskych viet a textov v Ostatné programy | 2 | 2362 | 21.06.2008 20:19 izzi | | Vypisanie v PHP, ASP | 4 | 397 | 16.08.2010 9:23 Pades | | Vypisanie korenoveho adresara v PHP, ASP | 11 | 592 | 29.11.2007 20:38 vl4kn0 | | Vypísanie znakov v C v Assembler, C, C++, Pascal, Java | 4 | 468 | 18.04.2012 20:48 Fico | | txt vyber-vybratie-vypisanie v PHP, ASP | 21 | 1051 | 04.11.2008 20:33 dadmtb | | phpBB3 vypisanie podpisu pri registraci v Redakčné systémy | 0 | 597 | 26.10.2009 19:28 php30 | | [VYRIESENE] funkcia na vypísanie časti textu v PHP, ASP | 3 | 437 | 09.02.2009 15:13 Unlink | | C++ vypísanie string funkcie na konzolu v Assembler, C, C++, Pascal, Java | 18 | 688 | 15.11.2014 22:13 matt1024 | | Mysql, vypisanie zaznamaov kde sa nachádza nieco v Databázy | 1 | 656 | 02.02.2009 20:07 djsulo | | Vypisanie dat mysql, ak nepoznam nazvy stlpcov v PHP, ASP | 1 | 656 | 03.03.2011 22:55 venom2 | | Program na vypísanie max a min cifre v Assembler, C, C++, Pascal, Java | 2 | 356 | 18.12.2016 21:50 BX |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|