|
|
select v mysql a or
|
26.2.2007 17:53
Ladislav Cimbál
|
Ahoj, nevíte prosím kde dělám chybu?
chci vyhledat v clancich nějaký text. Takže v nadpisu a v jeho popisu + chci vyhledávat články, které jsou zařazeny například v sekci "internet"
zadám příkaz"
$nacti = "select * FROM clanky WHERE zarazeni="internet AND nazev LIKE '%slovo%'";
to by bylo ok, ale jak mile přidám or popis LIKE '%slovo%'
viz.
$nacti = "select * FROM clanky WHERE zarazeni="internet AND nazev LIKE '%slovo%' OR popis LIKE '%slovo%'";
tak to vyhledá zase ze všech sekcí a to že jsem zvolil že má hledat ze sekce "internet" - to prostě ignoruje...
nevíte prosím, kde je chybka??? děkuji |
|
|
Re: select v mysql a or
|
26.2.2007 17:55
Ladislav Cimbál
|
za slovem internet v článku výše mi chybí závorka, takže takto zarazeni="internet" |
|
|
Re: select v mysql a or
|
26.2.2007 18:07
Ladislav Cimbál
|
teda uvozovky. oml. se za zmatkování |
|
|
Re: select v mysql a or
|
26.2.2007 18:36
Petr Zajíc
|
Zdravím,
já myslím, že chcete spíš
$nacti = "select * FROM clanky WHERE zarazeni='internet' AND (nazev LIKE '%slovo%' OR popis LIKE '%slovo%')";
ne? |
|
|
|
Re: select v mysql a or
|
26.2.2007 20:57
Roman
|
Zdravím.
V prvom rade by bolo dobré vedieť, akú verziu databázy MySQL vlastne máte. Ak je to verzia 5.*, tak tam sa dá zadefinovať fulltextové vyhľadávanie na potrebných stĺpcoch a využiť funkciu: MATCH (stlpec1, stlpec2, ...) AGAINST ('hladany vyraz')
Príklad:
/* vytvorime tabulku */
CREATE TABLE clanky (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
nazov VARCHAR(200),
obsah TEXT,
FULLTEXT (nazov, obsah)
);
/* vlozime skúšobné udaje */
INSERT INTO clanky (nazov, obsah) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...'),
('How To Use MySQL Well','After you went through'),
('Optimizing MySQL','In this tutorial we will show'),
('1001 MySQL Tricks','1. Never run mysqld as root.'),
('MySQL vs. YourSQL','In the following database comparison'),
('MySQL Security','When configured properly, MySQL');
/* vyhľadáme potrebné údaje */
SELECT *
FROM clanky
WHERE MATCH (nazov, obsah) AGAINST ('database');
/* dostaneme výsledok */
+----+-------------------+------------------------------------------+
| id | nazov | obsah |
+----+-------------------+------------------------------------------+
| 5 | MySQL vs. YourSQL | In the following database comparison ... |
| 1 | MySQL Tutorial | DBMS stands for DataBase ... |
+----+-------------------+------------------------------------------+
Odkaz na manuál: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
|
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|