login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fout in mijn mysql query, data door elkaar/dubbel

Offline tim2005 - 23/01/2007 19:01 (laatste wijziging 23/01/2007 19:56)
Avatar van tim2005Nieuw lid Ik heb een query gemaakt:

  1. SELECT DISTINCT forum_posts.postid AS pid, forum_posts.forumid AS fid, forum_posts.catagorieid AS cid, forum_posts.topicid AS tid, forum_posts.inhoud, forum_posts.gebruikersnaam, forum_posts.datum AS postdatum, forum_topics.naam AS tnaam, forum_forums.naam AS fnaam, forum_catagorieen.naam AS cnaam FROM forum_posts, forum_topics, forum_forums, forum_catagorieen WHERE forum_posts.inhoud LIKE '%e%' AND forum_posts.forumid = forum_topics.forumid AND forum_catagorieen.catagorieid = forum_posts.catagorieid


Nu zoekt hij naar de inhoud van forum_posts.inhoud met een 'e' erin
Dat gaat prima (tot nu toe), maar.....

Hij loopt 'alles' af... ik kan het probleem niet omschrijven, is er iemand die me toch wil proberen te helpen?

Probleem is hier te bekijken: http://www.chec...rumzoeken2
en dan meteen op zoeken klikken (dan zoekt hij op de waarde 'check')....

Hij zoekt dus in de tabbelen van mijn forum (ook die kun je bekijken: http://www.chec...gina=forum)

groetjes en alvast bedankt,
Tim

edit: Ik kan mijn systeem wel aanpassen zodat het zonder joins kan.. maar dan kan het maar zo gebeuren dat er meer dan 100 quer's worden uigevoerd (want dan komt er een query in een loopje) En dat is dus niks =D

3 antwoorden

Gesponsorde links
Offline ikkedikke - 23/01/2007 20:12
Avatar van ikkedikke PHP expert Ik wil je wel proberen te helpen. Misschien snap ik er meer van als je even je tabelstructuur neerzet en evt de resultaten die je krijgt bij bovenstaande query..
Offline tim2005 - 23/01/2007 22:51 (laatste wijziging 24/01/2007 17:42)
Avatar van tim2005 Nieuw lid is goed, komt morgen in een nieuwe post 

EDIT: kon niet in nieuwe post, dan maar via een edit.

forum_catagorieen
catagorieid int(11) auto_increment
naam text

forum_forums
forumid int(11) auto_increment
catagorie int(11)
naam text
beschrijving text

forum_posts
postid int(11) auto_increment
forumid int(11)
catagorieid int(11)
topicid int(11)
inhoud text
gebruikersnaam text
ip varchar(15)
datum varchar(19)
subdatum varchar(10)

forum_topics
topicid int(11) auto_increment
forumid int(11)
naam text

Hopelijk kan iemand me nu wel helpen 

gr, Tim
Offline Gerard - 24/01/2007 18:01
Avatar van Gerard Ouwe rakker Ik denk dat je de velden
  1. forumid int(11)
  2. catagorieid int(11)

hebt toegevoegd om snel de posts op te kunnen halen? Zoniet dan zouden ze eventueel weggelaten kunnen worden 

Ik heb in ieder geval onderstaande query in elkaar gefrutst omdat ik zie dat je het wel begrijpt maar er gewoon niet helemaal uit komt. Wat ik hieruit kan opmaken is dat je niet alle tabellen die je aanroept ook goed koppelt met een JOIN waardoor je dus die dubbele resultaten krijgt. Kijk maar eens of je met onderstaande query uit de voeten kan, als er nog een foutje in zit dan is het up-to-you on uit te vinden waar.

  1. SELECT fp.gebruikersnaam, fp.inhoud, fp.datum AS postdatum, ft.naam AS tnaam, ff.naam AS fnaam, fc.naam AS cnaam
  2. fp.postid AS pid, ft.topicid AS tid, ff.forumid AS fid, fc.categorieid AS cid
  3. FROM forum_posts AS fp INNER JOIN forum_topics AS ft
  4. ON fp.topicid = ft.topicid INNER JOIN forum_forums AS ff
  5. ON ft.forumid = ff.forumid INNER JOIN forum_catagorieen AS fc
  6. ON ff.categorie = fc.categorieid
  7. WHERE fp.inhoud LIKE '%e%'
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s