Vyhledávač na webu

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Vyhledávač na webu

Příspěvekod Stene » 08 lis 2010 09:55

Ahoj, snažím se o vyhledávač na webu, ale vůbec nevím, jak bych to měl dát do kupy ->

<?php
include '../db.php';

$objekt_vysledku = mysqli_query($db_spojeni, "SET NAMES 'UTF8'");

$objekt_vysledku = mysqli_query($db_spojeni,
'SELECT');

while ($radek = mysqli_fetch_array($objekt_vysledku))
{
echo 'vypis dat';
}

mysqli_free_result($objekt_vysledku);

if ($db_spojeni)
mysqli_close($db_spojeni);
?>

Potřeboval bych, aby po zadaném textu do formuláře se vypsala všechna zadaná slova. Nejdřív by se měly vypsat výskyty ve sloupci nadpis a až poté výskyty ve sloupci "text".. Poradí někdo?

klasická tabulka -
CREATE TABLE IF NOT EXISTS `texty` (
`id` int(11) NOT NULL auto_increment,
`nadpis` varchar(100) collate cp1250_czech_cs default NULL,
`text` varchar(5000) collate cp1250_czech_cs default NULL,
`info` varchar(100) collate cp1250_czech_cs default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs AUTO_INCREMENT=3 ;

Reklama
Uživatelský avatar
jackm
Level 4.5
Level 4.5
Příspěvky: 1720
Registrován: srpen 08
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod jackm » 08 lis 2010 15:12

http://php.vrana.cz/fulltextove-vyhledavani-v-mysql.php
Formulář v HTML udělej třeba <forma method="GET" action="soubor.php"><input type="text" name="search" /></form>.

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod X » 08 lis 2010 15:13

Co tohle?

Everyfind 6.0.2-umožní vytvoření vyhledávače pro váš web, intranet, CD, DVD nebo jakoukoliv dokumentaci.zip

Uživatelský avatar
jackm
Level 4.5
Level 4.5
Příspěvky: 1720
Registrován: srpen 08
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod jackm » 08 lis 2010 15:14

X:lepší je PHP a MySQL, to by tam mohl rovnou hodit google formulář. :twisted:

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod Stene » 09 lis 2010 09:02

Tak nějak mi to nejde do kupy..


formular.hml
<form method="GET" action="vyhledavac.php">
<input type="text" name="search">
</form>.


vyhledavac.php
<?php
include 'db.php';

$search = mysql_real_escape_string($_GET["search"]);
$result = mysql_query("
SELECT *
FROM texty
WHERE MATCH(nadpis, text) AGAINST ('$search' IN BOOLEAN MODE)
ORDER BY 5 * MATCH(nadpis) AGAINST ('$search') + MATCH(text) AGAINST ('$search') DESC
");


while ($radek = mysql_fetch_array($result))
{
echo '',$radek['nadpis'],'<br>';
echo '',$radek['text'],'';

}

if ($db_spojeni)
mysql_close($db_spojeni);
?>

db.php
$db_spojeni = mysql_connect
('mysql5-4', '------', '------', '------');
Naposledy upravil(a) Stene dne 09 lis 2010 09:04, celkem upraveno 2 x.

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod Stene » 09 lis 2010 09:03

chyby jsou o příspěvek výš na vyznačených řádcích ->

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/velkyberanov-fotbal.cz/subdomeny/plastoma/vyhledavac.php on line 23

Uživatelský avatar
jackm
Level 4.5
Level 4.5
Příspěvky: 1720
Registrován: srpen 08
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod jackm » 09 lis 2010 12:57

Zkus toto pozměnit.
$result ="SELECT * FROM texty WHERE MATCH(nadpis, text) AGAINST ('$search' IN BOOLEAN MODE) ORDER BY 5 * MATCH(nadpis) AGAINST ('$search') + MATCH(text) AGAINST ('$search') DESC";

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod CZechBoY » 09 lis 2010 13:02

vždy ke query dávej na konec před středník or Die(MySQL_Error()) když to ještě není web, na který koukají lidi(prostě není dodělanej) pak ti to vypíše chybu v SQL dotazu ;-) pokud je chyba v SQL dotazu zkus něco zkoušet i v PMA třeba
já mám hledání lidí udělaný přes WHERE jmeno LIKE '%jmeno%' OR prijmeni LIKE '%neco%' atd.
příkazy MATCH a AGAINST mi nic neříkají a nepoužívám je, ale MATCH by mohlo vyhodit počet shodných znaků ne?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod Stene » 09 lis 2010 18:22

Jak bys udělal SQL dotaz?
Potřebuju, aby se vyhledal zadaný text ve dvou sloupcích (nadpis, text) a pak se vypsaly (nejdřív by se vypsal ten výraz ze sloupce nadpis a potom až ze sloupce text)..
Potom by bylo fajn, aby se vypsal ze sloupce text ten výraz a před ním 50znaků a za ním 50znaků, ale kdyby to bylo složitý tak na to kašleme..

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod CZechBoY » 09 lis 2010 19:25

hodil bych tam WHERE nadpis LIKE '%$promenna%' OR text LIKE '%$promenna%' vyhodí ti to miliony výsledků ;-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod Stene » 11 lis 2010 10:58

Tak byl problém v souboru db.php.. ač to ještě do teď nechápu..

Ještě bych rád radu, jak ošetřím aby se v DB vyhledávala malá i velká písmena (například zadaný text "okno" nic nenajde, protože v db je to uložené jako "Okno"...

A ještě mě napadlo jedno. Když ve sloupci "text" bude daný výraz, šlo by, aby se vypsal na webu ten výraz a před něj se vypsalo 50znaků a za něj 50znaků celého textu? Takže aby se ten text ořízl okolo daného výrazu? Pokud je to ovšem nějak složité, vykašlal bych se na to..

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Vyhledávač na webu

Příspěvekod CZechBoY » 11 lis 2010 11:25

v sQL přidej LCASE(sloupec)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Index webu Příloha(y)
    od Tondaaaa » 18 srp 2024 00:15 » v Web-tipy a vaše weby
    5
    11917
    od HelFix Zobrazit poslední příspěvek
    28 srp 2024 12:14
  • MEZERA NA WEBU Příloha(y)
    od webovynadsenec » 08 srp 2024 00:22 » v Programování a tvorba webu
    2
    6037
    od HelFix Zobrazit poslední příspěvek
    09 srp 2024 10:15
  • Tvorba webu/aplikací
    od matty » 09 lis 2024 13:41 » v Programování a tvorba webu
    6
    4373
    od domitea Zobrazit poslední příspěvek
    14 lis 2024 19:51
  • Jak stáhnout celý tento návod z webu?
    od Peťa » 15 srp 2024 16:24 » v Internet a internetové prohlížeče
    6
    5708
    od Peťa Zobrazit poslední příspěvek
    16 srp 2024 08:52

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: DotNetDotCom.org [Bot] a 6 hostů