Stránka 1 z 2
Vyhledávač na webu
Napsal: 08 lis 2010 09:55
od Stene
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 ;
Re: Vyhledávač na webu
Napsal: 08 lis 2010 15:12
od jackm
http://php.vrana.cz/fulltextove-vyhledavani-v-mysql.phpFormulář v HTML udělej třeba <forma method="GET" action="soubor.php"><input type="text" name="search" /></form>.
Re: Vyhledávač na webu
Napsal: 08 lis 2010 15:13
od X
Co tohle?
Everyfind 6.0.2-umožní vytvoření vyhledávače pro váš web, intranet, CD, DVD nebo jakoukoliv dokumentaci.zip
Re: Vyhledávač na webu
Napsal: 08 lis 2010 15:14
od jackm
X:lepší je PHP a MySQL, to by tam mohl rovnou hodit google formulář.

Re: Vyhledávač na webu
Napsal: 09 lis 2010 09:02
od Stene
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', '------', '------', '------');
Re: Vyhledávač na webu
Napsal: 09 lis 2010 09:03
od Stene
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
Re: Vyhledávač na webu
Napsal: 09 lis 2010 12:57
od jackm
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";
Re: Vyhledávač na webu
Napsal: 09 lis 2010 13:02
od CZechBoY
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?
Re: Vyhledávač na webu
Napsal: 09 lis 2010 18:22
od Stene
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..
Re: Vyhledávač na webu
Napsal: 09 lis 2010 19:25
od CZechBoY
hodil bych tam WHERE nadpis LIKE '%$promenna%' OR text LIKE '%$promenna%' vyhodí ti to miliony výsledků

Re: Vyhledávač na webu
Napsal: 11 lis 2010 10:58
od Stene
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..
Re: Vyhledávač na webu
Napsal: 11 lis 2010 11:25
od CZechBoY
v sQL přidej LCASE(sloupec)