Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 30.08.07 Prihlásený: 18.02.11 Príspevky: 108 Témy: 28 | 28 |
Mam v databaze clanky, ktore vkladaju uzivatelia. Databaza v podstate obsahuje NAZOV CLANKU, HESLO, TEXT, ID. Vedel by mi niekto poradit ako spravim jednoduchy vyhladavac na moju stranku, ktory by hladal v tej MySQL databaze ale iba v NAZVE a TEXTE a nasledne by potom vypisal vysledky vyhladavania? Je to myslim dost zlozite /aspon pre mna/, preto neviem ci si niekto z vas trufa na nieco take ... bol by som vam velmi vdacny...dakujem.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
Kód: mysql_query("SELECT nazov_clanku FROM tbl_name WHERE nazov_clanku like '%".$search."%' OR text like '%".$search."%'")
Toto ti vrati nazvy vsetkych clankov, kde sa nachadza hladany vyraz $search.
|
|
Registrovaný: 30.08.07 Prihlásený: 18.02.11 Príspevky: 108 Témy: 28 | 28 |
Aha, tak by som mal zadat take nieco ako Hladat: Kód: <input type="text" name="search" value=""> co vlastne premennej $search priradi hladany retazec. Potom ak by som definoval napr. Kód: $hladat=mysql_query("SELECT nazov_clanku FROM tbl_name WHERE nazov_clanku like '%".$search."%' OR text like '%".$search."%'") a nasledne by som vypisal Kód: echo $hladat; by mi vypisalo vsetky nazvy clankov kde sa ten vyraz nachadza. Teda ak som spravne pochopil. Nemusim to davat do cyklu? Staci tak ako som napisal?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
musis to dat do cyklu... ale este tam je drobna chybicka:
Kód: $hladat=mysql_query("SELECT nazov_clanku FROM tbl_name WHERE nazov_clanku like '%".$search."%' OR text like '%".$search."%'")
while(list($nazov) = mysql_fetch_row($hladat)) { echo $nazov."<br>"; }
vypise ti nazvy clankov pod seba...
|
|
Registrovaný: 30.08.07 Prihlásený: 18.02.11 Príspevky: 108 Témy: 28 | 28 |
neviem ci by tam nemalo byt este endwhile na konci. Iba tak mi to totiz funguje. Takze vyhladav v pohode, vypise mi aj nazov clanku, ktory obsahuje hladany vyraz, to je v pohode. Ale neviem asi dosiahnut, to, aby ten vypisany nazov bol zaroven aj linkom na ten clanok... viem spravit len odkaz na tu stranku s clankami, ale nie na konkretny clanok... Kód: echo "<a href=clanky.php>".$nazov."</a><br>"; Alebo nechat hned vypisat cely clanok, lenze tam mam vela udajov v databaze - datum, nazov, text, mail, telefon, id ... a to vsetko pri kazdom cykle tahat z databazy ... aj tak to hlada pomerne dlho a pomaly ... hm... co ty na to stenley? Inak ti moc dakujem, lebo si mi moc pomohol.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
endwhile? ved tam mas zatvorky, tak to tam nemusi byt...
Ked tam chces mat hned aj linky, musis vediet, ako sa ti tie clanky zobrazuju, cize aku maju adresu (zobrazit cele clanky je zbytocnost, ked ich tam budes mat vela, zaberieto dost casu)... Napr:
Kód: clanok.php?nazov=Ako-kubko-s-matkom-kopali-jamu popripade Kód: clanok.php?id=5668 To si uz spravis podla seba, ale skor ti bude vyhovovat asi ten druhy pripad, kedze mas v tabulke stlpec id, ktory je predpokladam jedinecny... Kód: $hladat=mysql_query("SELECT id, nazov_clanku FROM tbl_name WHERE nazov_clanku like '%".$search."%' OR text like '%".$search."%'")
while(list($id,$nazov) = mysql_fetch_row($hladat)) { echo '<a href="clanok.php?id='.$id.'">'.$nazov.'</a><br>' }
|
|
Registrovaný: 30.08.07 Prihlásený: 18.02.11 Príspevky: 108 Témy: 28 | 28 |
Ano, id! sakra to ma nenapadlo....
Nechcem ta uz velmi otravovat, ale ak nenajde ziadny vysledok, chcem aby vypisalo ze sa nenasli ziadne zaznamy. Dalo by sa to nejako takto?: Kód: if (mysql_num_rows($hladat)==0): echo "nenasli sa ziadne zaznamy" ?
A este jedna vec: je to moc komplikovane vyznacit v texte alebo nazve clanku ten hladany vyraz hrubsim pismom? /videl som to pri viacerych vyhladavacoch / - napr. hladam slovo kompon a vysledok je komponenty ... Ale to vobec nie je nutne, ak je to zlozite, netusim ako to funguje... zaobidem sa bez toho.
diky!
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
Ano, presne cez to sa to da spravit, konkretnejsie:
Kód: $hladat=mysql_query("SELECT id, nazov_clanku FROM tbl_name WHERE nazov_clanku like '%".$search."%' OR text like '%".$search."%'")
if(mysql_num_rows($hladat)>0) { while(list($id,$nazov) = mysql_fetch_row($hladat)) { echo '<a href="clanok.php?id='.$id.'">'.$nazov.'</a><br>' } } else { echo "nenasli sa ziadne zaznamy"; }
Kde chces zvyraznit tie slova, vo vysledku vyhladavania, alebo ked sa uz zobrazi samotny clanok? V prvom pripade to je jednoduche (proste len nahradis vo vysledku $search za <strong>$search</strong>), v druhom troska komplikovanejsie, ale nie velmi...
|
|
Registrovaný: 30.08.07 Prihlásený: 18.02.11 Príspevky: 108 Témy: 28 | 28 |
hm, kde presne myslis nahradit vo vysledku $search za <strong>$search</strong>? Ked vo vysledku budem mat napr. echo $nazov /berme teraz prvy pripad/, tak predsa neviem kde je $search - kedze vypise cely nazov clanku...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
Malo by to fungovat takto nejak, ale neskusal som:
Kód: if(mysql_num_rows($hladat)>0) { while(list($id,$nazov) = mysql_fetch_row($hladat)) { $nazov = eregi_replace($search,'<strong>'.$search.'</strong>',$nazov); echo '<a href="clanok.php?id='.$id.'">'.$nazov.'</a><br>' } } else { echo "nenasli sa ziadne zaznamy"; }
|
|
Registrovaný: 30.08.07 Prihlásený: 18.02.11 Príspevky: 108 Témy: 28 | 28 |
Ano, tak to funguje!!! Dakujem stenley
|
|
Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Databázy | 5 | 667 | 11.11.2011 15:55 GoodWill | | v PHP, ASP | 6 | 546 | 29.08.2008 16:46 chrono | | v PHP, ASP | 5 | 914 | 20.03.2010 6:24 rooobertek | | v PHP, ASP | 7 | 662 | 18.07.2011 18:34 JanoF | | v Databázy | 1 | 901 | 29.08.2009 11:30 bmatias | | v PHP, ASP | 5 | 514 | 25.04.2013 23:42 misko16 | | v HTML, XHTML, XML, CSS | 15 | 2361 | 04.12.2007 13:15 wotan | | v PHP, ASP | 1 | 713 | 24.09.2010 20:22 VireL | | v Ostatné programy | 4 | 743 | 30.06.2008 2:38 dedko45 | | v Databázy | 3 | 414 | 08.04.2014 9:45 JanoF | | v Správy pre vedenie fóra | 9 | 1081 | 19.04.2012 20:53 Jeffo | | v Databázy | 7 | 980 | 31.05.2009 18:46 Snacker | | v PHP, ASP | 3 | 646 | 15.04.2008 20:36 stenley | | v Delphi, Visual Basic | 1 | 806 | 20.07.2009 19:25 Fico | | v PHP, ASP | 6 | 872 | 15.05.2008 16:29 jaji | | [ Choď na stránku: 1, 2 ] v Správy pre vedenie fóra | 45 | 4890 | 29.12.2007 5:25 Roberbo |
|