login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoekfunctie - Full text

Offline daanv - 04/04/2006 17:11
Avatar van daanvNieuw lid Hallo allemaal,

Ik heb een vraagje:

Ik heb een zoekfunctie gemaakt, maar nu geeft php de error dat ik een full text in de database moet gebruiken, maar wat is full text en wat houd het in, hoe maak je het?

MVG
Daan,

41 antwoorden

Gesponsorde links
Offline rutgerp - 04/04/2006 18:35 (laatste wijziging 04/04/2006 18:42)
Avatar van rutgerp HTML interesse Hoe het werkt weet ik niet maar hoe je het maakt wel...
Je kan alleen varchar en text dacht ik Fulltext maken. Dit kan je doen via PhpMyAdmin. Moet je rechts van Structuur van een Tabel op FullText klikken. Vele meer weet ik niet, sorry. Is vast neit nuttig deze reactie xD

verwijder dit maar xD
Offline vinTage - 04/04/2006 18:36
Avatar van vinTage Nieuw lid http://www.site...amp;id=423

en rutgerp heeft gelijk :d
Offline daanv - 07/04/2006 21:41
Avatar van daanv Nieuw lid Wat is er fout aan deze regel?

  1. FULLTEXT (gebruikersnaam, email, naam, geboortedatum, msn, eigen_pagina)


MVG
Daan 
Offline vinTage - 07/04/2006 21:49
Avatar van vinTage Nieuw lid alles 

lees die tut die ik hierboven linkte
Offline daanv - 07/04/2006 21:56
Avatar van daanv Nieuw lid Heb ik gedaan, maar hij geeft steeds dezelfde fout in die regel die ik er maar niet uit kan halen... (al 2 dagen bezig )
Offline vinTage - 07/04/2006 21:59
Avatar van vinTage Nieuw lid die regel op zich is niet mis mee, misschien iets meer code posten (iets meer, geen 200 regels aub)
Offline daanv - 08/04/2006 09:52 (laatste wijziging 08/04/2006 09:54)
Avatar van daanv Nieuw lid
  1. CREATE TABLE leden (
  2. id int(11) NOT NULL auto_increment,
  3. gebruikersnaam VARCHAR(25) NOT NULL,
  4. email VARCHAR(30) NOT NULL,
  5. naam VARCHAR(20) NOT NULL,
  6. geboortedatum VARCHAR(10) NOT NULL,
  7. msn VARCHAR(30) NOT NULL default 'niet ingevuld',
  8. eigen_pagina text,
  9. FULLTEXT (`gebruikersnaam`, `email`, `naam`, `geboortedatum`, `msn`, `eigen_pagina`)
  10. PRIMARY KEY (CREATE TABLE leden (
  11. id int(11) NOT NULL auto_increment,
  12. gebruikersnaam VARCHAR(25) NOT NULL,
  13. email VARCHAR(30) NOT NULL,
  14. naam VARCHAR(20) NOT NULL,
  15. geboortedatum VARCHAR(10) NOT NULL,
  16. msn VARCHAR(30) NOT NULL default 'niet ingevuld',
  17. eigen_pagina text,
  18. FULLTEXT (`gebruikersnaam`, `email`, `naam`, `geboortedatum`, `msn`, `eigen_pagina`)
  19. PRIMARY KEY (id)
  20. ) TYPE=MyISAM;
Offline timo - 08/04/2006 09:57
Avatar van timo PHP ver gevorderde wrm hebbie in leden 2x alle velden hetzelfde? je kan maar 1 tabel hebben met de naam leden, en niet meerdere velden met dezelfde naam in een tabel..
Offline daanv - 08/04/2006 10:20 (laatste wijziging 08/04/2006 14:43)
Avatar van daanv Nieuw lid Is een foutje van mij zelf de code ziet er dus zo uit:

  1. CREATE TABLE leden (
  2. id int(11) NOT NULL auto_increment,
  3. gebruikersnaam VARCHAR(25) NOT NULL,
  4. email VARCHAR(30) NOT NULL,
  5. naam VARCHAR(20) NOT NULL,
  6. geboortedatum VARCHAR(10) NOT NULL,
  7. msn VARCHAR(30) NOT NULL default 'niet ingevuld',
  8. eigen_pagina text,
  9. FULLTEXT (`gebruikersnaam`, `email`, `naam`, `geboortedatum`, `msn`, `eigen_pagina`)
  10. PRIMARY KEY (id)
  11. ) TYPE=MyISAM;


Als ik id en PRIMARY KEY (id) weg haal doet ie het, maar als ik FULLTEXT (`gebruikersnaam`, `email`, `naam`, `geboortedatum`, `msn`, `eigen_pagina`) weg haal doet ie het ook, mag deze 2 functies niet allebei in 1 tabel gebruiken ofzo?
Offline Simon - 08/04/2006 14:49
Avatar van Simon PHP expert draai ze es om
eerst primary en dan fulltext
Offline daanv - 08/04/2006 14:55
Avatar van daanv Nieuw lid Werkt ook niet, iemand nog andere oplossingen?
Offline vinTage - 08/04/2006 15:19 (laatste wijziging 08/04/2006 15:20)
Avatar van vinTage Nieuw lid Ik weet niet of dit voor alle versies geld, maar bij mijn wamp pakketje hoef ik helemaal niet aan te geven of het fulltxt moet zijn of niet.
MySQL 4.1.10a-nt
phpMyAdmin 2.6.4-pl2

Alle kolommen die fulltext zoeken ondersteunen worden automatish fulltext (die paarse T in phpmyadmin aan het einde per "kolom")
Offline Gerard - 08/04/2006 16:26
Avatar van Gerard Ouwe rakker http://www.phpfreaks.com/tutorials/129/0.php

deze heeft vinTage in het verleden ook geholpen
Offline daanv - 08/04/2006 17:15
Avatar van daanv Nieuw lid Het lukt me maar niet om een full text table te maken,
Kan iemand me al een voorbeeld geven van een full text table code?

PS Ik moet dit project vandaag nog afronden... 
Offline vinTage - 08/04/2006 17:29 (laatste wijziging 08/04/2006 17:31)
Avatar van vinTage Nieuw lid Deze link gaat naar een "gezocht" opdracht op de site van mn pa.

De zoek query is zo:
  1. <?
  2. "SELECT id, titel, content FROM vijverspecials WHERE MATCH(titel, content) AGAINST('".$gevraagd."' IN BOOLEAN MODE)"

"gevraagd verkrijg ik via een $_GET['']"

De sql tabel is als volgt:
  1. CREATE TABLE `vijverspecials` (
  2. `id` int(10) NOT NULL auto_increment,
  3. `titel` varchar(40) NOT NULL default '',
  4. `pad` varchar(25) NOT NULL default '',
  5. `thumbpad` varchar(25) NOT NULL default '',
  6. `categorie` varchar(10) NOT NULL default '',
  7. `content` text NOT NULL,
  8. PRIMARY KEY (`id`),
  9. FULLTEXT KEY `titel` (`titel`,`content`)
  10. ) ENGINE=MyISAM;


hopelijk heb je er iets aan
Offline daanv - 08/04/2006 17:43 (laatste wijziging 08/04/2006 18:43)
Avatar van daanv Nieuw lid Dit is tot nu toe mijn tabel:

  1. CREATE TABLE leden (
  2. id INT(12) NOT NULL auto_increment,
  3. gebruikersnaam VARCHAR(25) NOT NULL,
  4. email VARCHAR(30) NOT NULL,
  5. wachtwoord VARCHAR(20) NOT NULL,
  6. naam VARCHAR(20) NOT NULL,
  7. geboortedatum VARCHAR(10) NOT NULL,
  8. msn VARCHAR(30) NOT NULL default 'niet ingevuld',
  9. bezoekersteller INT NOT NULL default '0',
  10. style VARCHAR(255) NOT NULL default 'http://www.kidshal.nl/php/profielen/style/idols/idols.css',
  11. muziek VARCHAR(500) NOT NULL,
  12. ringtones INT(1) NOT NULL default '0',
  13. gastenboek INT(1) NOT NULL default '1',
  14. eigen_pagina text,
  15. score INT NOT NULL default '0',
  16. spelletjes INT(1) NOT NULL default '0',
  17. spelletje1 varchar(150) NOT NULL default '',
  18. spelletje2 varchar(150) NOT NULL default '',
  19. spelletje3 varchar(150) NOT NULL default '',
  20. spelletje4 varchar(150) NOT NULL default '',
  21. spelletje5 varchar(150) NOT NULL default '',
  22. avatar VARCHAR(100),
  23. foto1 VARCHAR(100),
  24. foto2 VARCHAR(100),
  25. foto3 VARCHAR(100),
  26. foto4 VARCHAR(100),
  27. foto5 VARCHAR(100),
  28. foto6 VARCHAR(100),
  29. beschrijving1 TEXT,
  30. beschrijving2 TEXT,
  31. beschrijving3 TEXT,
  32. beschrijving4 TEXT,
  33. beschrijving5 TEXT,
  34. beschrijving6 TEXT,
  35. waterpet VARCHAR(1) NOT NULL default '0',
  36. geactiveerd VARCHAR(8) NOT NULL default '0',
  37. geblokkeerd INT(1) NOT NULL default '0',
  38. functie INT(1) NOT NULL default '1',
  39. ip VARCHAR(15) NOT NULL,
  40. FULLTEXT KEY `gebruikersnaam` (`gebruikersnaam`,`email`,`naam`,`geboortedatum`,`msn`,`eigen_pagina`)
  41. PRIMARY KEY (`id`)
  42. ) ENGINE=MyISAM;


En de fout die mysql geeft is:

  1. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PRIMARY KEY (`id`),
  2. ) ENGINE=MyISAM' at line 41


Ben ik zo misschien iets duidelijker?
Offline Gerard - 08/04/2006 17:53
Avatar van Gerard Ouwe rakker de regel ervoor staat geen komma
Offline daanv - 08/04/2006 17:58
Avatar van daanv Nieuw lid Klopt maar daar ligt het niet aan,
ziet er nog iemand anders wat fout is?
Offline vinTage - 08/04/2006 18:16
Avatar van vinTage Nieuw lid FULLTEXT KEY `gebruikersnaam` (`gebruikersnaam`,`email`,`naam`,`geboortedatum`,`msn`,`eigen_pagina`),

op het einde staat een komma, moet dat ? bij mijne is dat niet iig
Offline daanv - 08/04/2006 18:44
Avatar van daanv Nieuw lid Ik heb ze weg gehaald maar ook dat help niet, de tabel van vinTage werkt ook in mysql dus moet de mijne toch ook lukken?
Weet iemand nog oplossingen?
Offline vinTage - 08/04/2006 18:47
Avatar van vinTage Nieuw lid probeer deze eens:
  1. CREATE TABLE leden(
  2. id INT( 12 ) NOT NULL AUTO_INCREMENT ,
  3. gebruikersnaam VARCHAR( 25 ) NOT NULL ,
  4. email VARCHAR( 30 ) NOT NULL ,
  5. wachtwoord VARCHAR( 20 ) NOT NULL ,
  6. naam VARCHAR( 20 ) NOT NULL ,
  7. geboortedatum VARCHAR( 10 ) NOT NULL ,
  8. msn VARCHAR( 30 ) NOT NULL default 'niet ingevuld',
  9. bezoekersteller INT NOT NULL default '0',
  10. style VARCHAR( 255 ) NOT NULL default 'http://www.kidshal.nl/php/profielen/style/idols/idols.css',
  11. muziek VARCHAR( 500 ) NOT NULL ,
  12. ringtones INT( 1 ) NOT NULL default '0',
  13. gastenboek INT( 1 ) NOT NULL default '1',
  14. eigen_pagina text,
  15. score INT NOT NULL default '0',
  16. spelletjes INT( 1 ) NOT NULL default '0',
  17. spelletje1 varchar( 150 ) NOT NULL default '',
  18. spelletje2 varchar( 150 ) NOT NULL default '',
  19. spelletje3 varchar( 150 ) NOT NULL default '',
  20. spelletje4 varchar( 150 ) NOT NULL default '',
  21. spelletje5 varchar( 150 ) NOT NULL default '',
  22. avatar VARCHAR( 100 ) ,
  23. foto1 VARCHAR( 100 ) ,
  24. foto2 VARCHAR( 100 ) ,
  25. foto3 VARCHAR( 100 ) ,
  26. foto4 VARCHAR( 100 ) ,
  27. foto5 VARCHAR( 100 ) ,
  28. foto6 VARCHAR( 100 ) ,
  29. beschrijving1 TEXT,
  30. beschrijving2 TEXT,
  31. beschrijving3 TEXT,
  32. beschrijving4 TEXT,
  33. beschrijving5 TEXT,
  34. beschrijving6 TEXT,
  35. waterpet VARCHAR( 1 ) NOT NULL default '0',
  36. geactiveerd VARCHAR( 8 ) NOT NULL default '0',
  37. geblokkeerd INT( 1 ) NOT NULL default '0',
  38. functie INT( 1 ) NOT NULL default '1',
  39. ip VARCHAR( 15 ) NOT NULL ,
  40. PRIMARY KEY ( `id` ) ,
  41. FULLTEXT KEY `gebruikersnaam` ( `gebruikersnaam` , `email` , `naam` , `geboortedatum` , `msn` , `eigen_pagina` )
  42. ) ENGINE = MYISAM;
Offline Simon - 08/04/2006 18:48 (laatste wijziging 08/04/2006 18:48)
Avatar van Simon PHP expert
  1. ip VARCHAR(15) NOT NULL,
  2. FULLTEXT KEY `gebruikersnaam` (`gebruikersnaam`,`email`,`naam`,`geboortedatum`,`msn`,`eigen_pagina`)
  3. PRIMARY KEY (`id`)

doe es zo:
  1. ip VARCHAR(15) NOT NULL,
  2. PRIMARY KEY (`id`)
  3. FULLTEXT KEY `gebruikersnaam`
  4. (`gebruikersnaam`,`email`,`naam`,`geboortedatum`,`msn`,`eigen_pagina`)
Offline daanv - 08/04/2006 18:57
Avatar van daanv Nieuw lid Werkt ook niet,
Nog andere oplossingen?
Offline vinTage - 08/04/2006 18:59 (laatste wijziging 08/04/2006 19:00)
Avatar van vinTage Nieuw lid Als ik die code in mn sql loslaat heb ik geen problemen hoor..0 errors

  1. Uw SQL-query is succesvol uitgevoerd. (Query duurde 0.0359 sec)
Offline daanv - 08/04/2006 19:06
Avatar van daanv Nieuw lid He he eindelijk zit de tabel in de database...

Maar nu krijg ik met deze zoekcode weer een error 

  1. $query = "SELECT * FROM leden WHERE MATCH (gebruikersnaam, naam) AGAINST ('".$_POST['trefwoord']."')";
  2. $result = mysql_query($query) or die (mysql_error());
  3.  
  4. while($lijst = mysql_fetch_object($result)){
  5. echo "<a href=\"profiel.php?id=".$lijst->id."\">".$lijst->gebruikersnaam."</a><br>";
  6. }


Wat is hier fout aan, de tabel is ingevoegd als hierboven bij vinTage te zien, wat doe ik (weer) fout?

MVG

:D
Offline Gerard - 08/04/2006 19:10
Avatar van Gerard Ouwe rakker wat is de error dan?
Offline daanv - 08/04/2006 19:16 (laatste wijziging 08/04/2006 19:43)
Avatar van daanv Nieuw lid Oh ja, dit is de error:

  1. Can't find FULLTEXT index matching the column list


Iemand een idee waar het aan ligt?
Offline vinTage - 08/04/2006 19:44
Avatar van vinTage Nieuw lid Ik heb dit ff gebruikt:
  1. <?
  2.  
  3. mysql_connect("localhost", "root", "");
  4. mysql_select_db("voltexttest");
  5.  
  6. $query = "SELECT * FROM leden WHERE MATCH (gebruikersnaam, email, naam, geboortedatum, msn, eigen_pagina) AGAINST ('vintage')";
  7. $result = mysql_query($query) or die (mysql_error());
  8.  
  9. while($lijst = mysql_fetch_object($result)){
  10. echo $lijst->gebruikersnaam;
  11. }
  12. ?>


en deze sql:
  1. CREATE TABLE `leden` (
  2. `id` int(12) NOT NULL auto_increment,
  3. `gebruikersnaam` varchar(25) NOT NULL default '',
  4. `email` varchar(30) NOT NULL default '',
  5. `wachtwoord` varchar(20) NOT NULL default '',
  6. `naam` varchar(20) NOT NULL default '',
  7. `geboortedatum` varchar(10) NOT NULL default '',
  8. `msn` varchar(30) NOT NULL default 'niet ingevuld',
  9. `bezoekersteller` int(11) NOT NULL default '0',
  10. `style` varchar(255) NOT NULL default 'http://www.kidshal.nl/php/profielen/style/idols/idols.css',
  11. `muziek` text NOT NULL,
  12. `ringtones` int(1) NOT NULL default '0',
  13. `gastenboek` int(1) NOT NULL default '1',
  14. `eigen_pagina` text,
  15. `score` int(11) NOT NULL default '0',
  16. `spelletjes` int(1) NOT NULL default '0',
  17. `spelletje1` varchar(150) NOT NULL default '',
  18. `spelletje2` varchar(150) NOT NULL default '',
  19. `spelletje3` varchar(150) NOT NULL default '',
  20. `spelletje4` varchar(150) NOT NULL default '',
  21. `spelletje5` varchar(150) NOT NULL default '',
  22. `avatar` varchar(100) default NULL,
  23. `foto1` varchar(100) default NULL,
  24. `foto2` varchar(100) default NULL,
  25. `foto3` varchar(100) default NULL,
  26. `foto4` varchar(100) default NULL,
  27. `foto5` varchar(100) default NULL,
  28. `foto6` varchar(100) default NULL,
  29. `beschrijving1` text,
  30. `beschrijving2` text,
  31. `beschrijving3` text,
  32. `beschrijving4` text,
  33. `beschrijving5` text,
  34. `beschrijving6` text,
  35. `waterpet` char(1) NOT NULL default '0',
  36. `geactiveerd` varchar(8) NOT NULL default '0',
  37. `geblokkeerd` int(1) NOT NULL default '0',
  38. `functie` int(1) NOT NULL default '1',
  39. `ip` varchar(15) NOT NULL default '',
  40. PRIMARY KEY (`id`),
  41. FULLTEXT KEY `gebruikersnaam` (`gebruikersnaam`,`email`,`naam`,`geboortedatum`,`msn`,`eigen_pagina`)
  42. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
  43.  
  44. --
  45. -- Gegevens worden uitgevoerd voor tabel `leden`
  46. --
  47.  
  48. INSERT INTO `leden` VALUES (1, 'vinTage', 'vintage@lala.com', 'lala', 'vinTage', '12-12-12', 'niet ingevuld', 0, 'http://www.kidshal.nl/php/profielen/style/idols/idols.css', 'rock', 0, 1, NULL, 0, 0, '', '', '', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 0, 1, '');
  49. INSERT INTO `leden` VALUES (2, 'klaas', 'klaas@lala.com', 'lala', 'aap', '12-12-12', 'niet ingevuld', 0, 'http://www.kidshal.nl/php/profielen/style/idols/idols.css', 'rock', 0, 1, NULL, 0, 0, '', '', '', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 0, 1, '');
  50. INSERT INTO `leden` VALUES (3, 'boer harms', 'harms@lala.com', 'lala', 'blaat', '12-12-12', 'niet ingevuld', 0, 'http://www.kidshal.nl/php/profielen/style/idols/idols.css', 'rock', 0, 1, NULL, 0, 0, '', '', '', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 0, 1, '');


En die werkte goed
Offline daanv - 08/04/2006 20:20
Avatar van daanv Nieuw lid Wat betekend dit dan:

  1. DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
Offline vinTage - 08/04/2006 20:23
Avatar van vinTage Nieuw lid kan je weghalen, had ik eigenlijk zelf moeten doen 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.381s