Radim jednu internet stranicu za sebe i želim na nju staviti tražilicu. Stranice su u PHP i želim napraviti tražilicu koja će pretraživati sadržaj sa ključnom riječi koju upišem u tražilicu.
Zna li netko kako bi trebalo kodove upisati za izradu te tražilice.
Hvala!
Kako napraviti tražilicu u PHP?
- poruka: 14
- |
- čitano: 10.418
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Pretpostavljam da radiš sa MySql-om?
Probaj guglati "mysql full-text search".
A što točno želiš pretraživati?
Implemetiraj si google search
Naprimjer, napravim par stranica index.html kao naslovna, zatim dodam
procesori.php
hardver.php
softver.php
i sada to sve stavim na server i treba mi tražilica koja će naprimjer kad upišem hardver pronaći tu stranicu hardver.php.
Otprilike tako neka tražilica bi mi trebala, ako netko zna koje kodove točno treba upisati.
Vjerujem da postoji jednostavnije rješenje od ovoga kojeg ću ti ja predložiti ali zar ne možeš staviti neki text area i tipku "search".Zatim getom pokupiš to upisano, provrtiš se po if petlji i onda koji ti je uvjet zadovoljen njemu pridodjeliš funkciju koja će ti pozivati stranicu koja odgovara traženome.Mislim da ima neka JS funkcija new window ili tako nešto koja će ti otvarati te stranice.
Također imaš i PHP (ja se nadam da je PHP ) funkciju header (Location: "hardver.php") koja te redirekta na tu stranicu.
Nadam se da sam bio od neke koristi, a ako nisam slobodno me popljuvajte...
Evo ovako bi to nekako trebalo izgledat
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="textfield" />
</label>
<label>
<input type="submit" name="Submit" value="Traži" />
</label>
</form>
E sada mene muci sto upisati pod action da bi on meni nasao neku stranicu
Evo ovako bi to nekako trebalo izgledat
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="textfield" />
</label>
<label>
<input type="submit" name="Submit" value="Traži" />
</label>
</form>
E sada mene muci sto upisati pod action da bi on meni nasao neku stranicu
Evo ovako bi to nekako trebalo izgledat
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="textfield" />
</label>
<label>
<input type="submit" name="Submit" value="Traži" />
</label>
</form>
E sada mene muci sto upisati pod action da bi on meni nasao neku stranicu
Najbolje ti je stavit Google search. Traži sve i nemaš gnjavaže.
Ako hočeš sam programirat opet je najjednostavnije imat MySql bazu sa keywordsima i onda njih pretraživat. Tako kada netko upiše hradver, da se otvore i druge stranice koje imaju hardver u tekstu.
Mislim da je to bolje.
Najbolje ti je stavit Google search. Traži sve i nemaš gnjavaže.
Ako hočeš sam programirat opet je najjednostavnije imat MySql bazu sa keywordsima i onda njih pretraživat. Tako kada netko upiše hradver, da se otvore i druge stranice koje imaju hardver u tekstu.
Mislim da je to bolje.
Najbolje ti je stavit Google search. Traži sve i nemaš gnjavaže.
Ako hočeš sam programirat opet je najjednostavnije imat MySql bazu sa keywordsima i onda njih pretraživat. Tako kada netko upiše hradver, da se otvore i druge stranice koje imaju hardver u tekstu.
Mislim da je to bolje.
<?php
$otvoribazu = mysql_connect('tvoj server', 'tvoje korisničko ime', 'tvoja šifra');
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");
if (!$otvoribazu) {
echo '<p>Ne može se spojiti na server. Greška: ' . mysql_error() . '</p>'; // Ako ne može otvorit da izbaci "nježnu" grešku,a ne hrpu error-a
exit();
}
if (!mysql_select_db('tvoja baza podataka')) {
echo '<p>Ne može se otvoriti baza podataka. Greška: ' . mysql_error() . '</p>'; // Ako ne može otvoriti, isto kao gore
exit();
}
$novosti = mysql_query('SELECT id, datum, naziv, tekst FROM novosti ORDER BY id DESC'); // Napisao sam DESC da ih posloži od novije prema starije, možeš i bez ORDER BY..., onda od starije prema novije
if (!$novosti) {
echo '<p>Ne može se izvršiti sada. Greška: ' . mysql_error() . '</p>';
exit();
}
while ($novostidetalj = mysql_fetch_array($novosti)) { // Sada ti je ono glavno, pokupiš sve vrijednosti za svaki redak u tabeli i radiš s njima što hoćeš
$idnovosti = $novostidetalj['id'];
$datum = $novostidetalj['datum'];
$naziv = $novostidetalj['naziv'];
$tekst = $novostidetalj['tekst'];
?>
<table style="width: 470px; margin: auto" cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="font-size: 12px"><?php echo $datum; ?></td>
</tr>
<tr>
<td style="font-size: 16px"><strong><?php echo $naziv; ?></strong></td>
</tr>
<tr>
<td style="font-size: 12px"><?php echo $tekst; ?></td>
</tr>
</table>
<br />
<?php
}
?>
Vrlo traljavo je da traži ime stranica. Šta ako imaš pojam pretrage "grefičke kartice"? Naši znakovi u imenima stranica...nije dobro. Još je veća glupost tražiti samo recimo "procesori". Najlakše i efikasnije je(ukoliko imaš mySQL) upravo napraviti cijelutablicu npr. "katalog" i neka traži u njoj, ili možeš dodati u pretrazi da specifira koju vrstu hardware-a traži. Na kraju, vidim da je ovo pitanje slično pitanjima koje sam i sam postavljao prije 5-6 godina... Evo ti prijedlog: Ako želiš učiti PHP, kreni sa izradom svoje kompletne skripte za katalog u kojoj ćeš moći dodavati sve artikle i kategorije, ili stavi joomlu i gooooooogle malo skreši i nađi modul za takvo nešto(ukoliko se ne želiš z123).
Ma znam. Ovo je osnovno, je sam rekao da nezna progrmirat, pa čisto za nešto naučit. A meni naši znakovi, rade čisto ok.
Ovo se može proširit, sa čime god hočeš.
Ako treba neku ultra dobru tražilicu i ako ju sam neće radit, neka uzme skriptu i gotovo, ili najbolje besplatnu Joomlu i pili.