Zoekfunctie in DB mbv MATCH

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels

Niels

04/07/2007 23:23:00
Quote Anchor link
Ik wil een kleine zoekfunctie inbouwen, en heb dit script geschreven:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php

if(!empty($_POST)){

$search = $_POST['search'];

$sql = "SELECT * FROM recrea_verkoop WHERE MATCH (adres,plaats) AGAINST ('$search') ORDER BY id DESC";

        $res = mysql_query($sql);

        if (mysql_num_rows($res) >= 1) {

            while ($row = mysql_fetch_array($res)) {

            echo "$row[plaats]  irreele informatie";      

              }

              }
else {

              echo "niets in bestand";

               }

}

?>


Bij de echo staat niet alles wat ik normaal heb, daar zit t probleem niet in.

Ik krijg constant deze foutmelding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/guide/www.lopw.nl/HTML2/overzicht.php on line 484
niets in bestand

Wat doe ik verkeerd!?

Groetjes!
 
PHP hulp

PHP hulp

26/04/2024 09:42:51
 
Robert Deiman

Robert Deiman

04/07/2007 23:55:00
Quote Anchor link
De syntax is goed, heb je de kolommen die je hier wil gebruiken wel ingesteld op fulltext?
 
Niels

Niels

05/07/2007 00:10:00
Quote Anchor link
Ik heb daar op geklikt in MySQL, maar doe ik daar iets verkeerd?
Dat moet wel, heb werkelijk alles geprobeerd.

Hoe doe ik dit?
Gewijzigd op 01/01/1970 01:00:00 door Niels
 
Jan Koehoorn

Jan Koehoorn

05/07/2007 00:16:00
Quote Anchor link
Na MATCH en AGAINST mag je geen spatie hebben van MySQL.
 
Niels

Niels

05/07/2007 00:18:00
Quote Anchor link
Hier zit t probleem niet in, heb ook al andere querys gebruikt.
Ik denk dat het probleem zit in mysql, dat de kolom niet FULL TEXT is.

Maar, hoe kan ik dit aanpassen in phpmyadmin?
 
Jan Koehoorn

Jan Koehoorn

05/07/2007 00:24:00
Quote Anchor link
ALTER TABLE tabelnaam
ADD FULLTEXT naam_van_de_index
(
veldnaam1,
veldnaam2
)
 
Niels

Niels

05/07/2007 00:32:00
Quote Anchor link
wat is 'naam_van_de_index'?
 
Jan Koehoorn

Jan Koehoorn

05/07/2007 00:33:00
Quote Anchor link
Elke naam die je er aan wilt geven, dat mag je zelf invullen.
 
Niels

Niels

05/07/2007 00:48:00
Quote Anchor link
Heel goed, ben er uit nu.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

require "connect.php";

if(!empty($_POST)){

$search = $_POST['search'];
$srch="%".$search."%";
$sql = "SELECT * FROM recrea_verkoop WHERE MATCH(adres,plaats)AGAINST('$search') ORDER BY id DESC";

$res = mysql_query($sql);

if (mysql_num_rows($res)) {

while ($row = mysql_fetch_array($res)) {
    
        echo "blablabla...;
              
}    
} else {
echo "
niets in bestand";
}
}

?>


Met in phpmyadmin:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
ALTER TABLE recrea_verkoop
ADD FULLTEXT search
(
adres,
plaats
)
?>



Dank!
 
Dennis

Dennis

16/08/2008 17:55:00
Quote Anchor link
Ik heb deze methode ook gebruikt, echter zoekt het script nu niet op losse woorden maar op de gehele inhoud van de tabel. Weet iemand hier een oplossing voor?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.