[ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.07
Prihlásený: 18.02.11
Príspevky: 108
Témy: 28 | 28
NapísalOffline : 17.10.2007 11:04 | vyhladavanie v MYSQL

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.


Offline

Správca fóra
Správca fóra
vyhladavanie v MYSQL

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 17.10.2007 11:57 | vyhladavanie v MYSQL

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.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.07
Prihlásený: 18.02.11
Príspevky: 108
Témy: 28 | 28
Napísal autor témyOffline : 17.10.2007 14:00 | vyhladavanie v MYSQL

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?


Offline

Správca fóra
Správca fóra
vyhladavanie v MYSQL

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 17.10.2007 14:34 | vyhladavanie v MYSQL

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...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.07
Prihlásený: 18.02.11
Príspevky: 108
Témy: 28 | 28
Napísal autor témyOffline : 18.10.2007 23:01 | vyhladavanie v MYSQL

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.


Offline

Správca fóra
Správca fóra
vyhladavanie v MYSQL

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 19.10.2007 9:41 | vyhladavanie v MYSQL

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>'
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.07
Prihlásený: 18.02.11
Príspevky: 108
Témy: 28 | 28
Napísal autor témyOffline : 19.10.2007 14:26 | vyhladavanie v MYSQL

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!


Offline

Správca fóra
Správca fóra
vyhladavanie v MYSQL

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 19.10.2007 15:00 | vyhladavanie v MYSQL

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...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.07
Prihlásený: 18.02.11
Príspevky: 108
Témy: 28 | 28
Napísal autor témyOffline : 19.10.2007 16:07 | vyhladavanie v MYSQL

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...


Offline

Správca fóra
Správca fóra
vyhladavanie v MYSQL

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 19.10.2007 16:20 | vyhladavanie v MYSQL

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";
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.08.07
Prihlásený: 18.02.11
Príspevky: 108
Témy: 28 | 28
Napísal autor témyOffline : 23.10.2007 10:06 | vyhladavanie v MYSQL

Ano, tak to funguje!!! Dakujem stenley


 [ Príspevkov: 11 ] 


vyhladavanie v MYSQL



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

mysql-vyhladavanie

v Databázy

5

667

11.11.2011 15:55

GoodWill

V tomto fóre nie sú ďalšie neprečítané témy.

vyhladavanie v MySQL

v PHP, ASP

6

546

29.08.2008 16:46

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

PHP - MySQL - vyhladavanie?

v PHP, ASP

5

914

20.03.2010 6:24

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie v MySQL za pomoci AJAXu

v PHP, ASP

7

662

18.07.2011 18:34

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

vyhladavanie

v Databázy

1

901

29.08.2009 11:30

bmatias

V tomto fóre nie sú ďalšie neprečítané témy.

vyhladavanie

v PHP, ASP

5

514

25.04.2013 23:42

misko16

V tomto fóre nie sú ďalšie neprečítané témy.

vyhľadávanie

v HTML, XHTML, XML, CSS

15

2361

04.12.2007 13:15

wotan

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie

v PHP, ASP

1

713

24.09.2010 20:22

VireL

V tomto fóre nie sú ďalšie neprečítané témy.

vyhladavanie

v Ostatné programy

4

743

30.06.2008 2:38

dedko45

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie

v Databázy

3

414

08.04.2014 9:45

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

vyhladavanie

v Správy pre vedenie fóra

9

1081

19.04.2012 20:53

Jeffo

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie

v Databázy

7

980

31.05.2009 18:46

Snacker

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie

v PHP, ASP

3

646

15.04.2008 20:36

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie

v Delphi, Visual Basic

1

806

20.07.2009 19:25

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhladavanie - spoje

v PHP, ASP

6

872

15.05.2008 16:29

jaji

V tomto fóre nie sú ďalšie neprečítané témy.

Vyhľadávanie - otázka

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Správy pre vedenie fóra

45

4890

29.12.2007 5:25

Roberbo



© 2005 - 2024 PCforum, edited by JanoF