Toon posts:

[php] zoeken in meerdere tabellen - poging 2

Pagina: 1
Acties:

Verwijderd

Topicstarter
Waarom gelijk de topic op slot terwijl dit niet eens is wat ik bedoel :(

Ik bedoel dus:

Ik heb een stuk of 8 TOTAAL VERSCHILLENDE tabellen die geen relatie met elkaar hebben, behalve dat ze gebruikt worden op de site.

Ik wil dus door deze 8 tabellen zoeken naar een bepaalde string en de resultaten van deze 8 queries samenvoegen in 1 "tabel" zodat ik door de resultaten heen kan bladeren..

iemand nu wel een sugestie ?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

als ze GEEN relatie met elkaar hebben, waarom wil je ze dan samenvoegen..
En wat bedoel je met:
"1 tabel ZODAT ik er doorheen kan bladeren"
ik zie dat verband niet..

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Makkelijkste is dan misschien om ze allemaal te query'en en de resultaten op te slaan in een array.
Het lijkt me namelijk niet dat ze allemaal join compatible met elkaar zijn :P
[edit] Inderdaad wat wasigh zegt, waarom wil je in al die tabellen zoeken??? Vertel eens wat meer

Verwijderd

Topicstarter
Eigenlijk gewoon een searchengine. In plaats dat ik in totaal verschillende documenten zoek, wil ik nu zoeken in totaal verschillende tabellen.

Een array zou een oplossing kunnen zijn, maar vreet dit niet te veel geheugen ?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op dinsdag 08 januari 2002 09:18 schreef runningman het volgende:
Een array zou een oplossing kunnen zijn, maar vreet dit niet te veel geheugen ?
Nah, of je de gegevens nou vanuit MySQL in een resultset krijgt of het in een array stopt zou volgens mijn niet zoveel moeten uitmaken.

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Een andere variant: bouw zelf een full-text search-engine.
Maak een tabel als:

FullTextIndex(id,word,importance,table,idInTable)

met de resultaten kun je dan (zonder array) behoorlijk zoeken.

Zo'n array vreet niet zo veel geheugen hoor, als jij tenminste een LIMIT meegeeft met je query. anders zou het best wel extreem kunnen worden. (zoek maar eens op spatie :P)

Localhost, sweet localhost


Verwijderd

SELECT a.idseed AS output1 b.idseed AS output2
FROM tabel1 a, tabel2 b
WHERE a.contents = '%woei%'
OR b.contents = '%woei%'


erg omslachtig maar het doet de trick

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Op dinsdag 08 januari 2002 09:19 schreef Glimi_ie het volgende:

[..]

Nah, of je de gegevens nou vanuit MySQL in een resultset krijgt of het in een array stopt zou volgens mijn niet zoveel moeten uitmaken.
Uhm... ben ik het niet mee eens. Een PHP array is stukken minder efficient als een mysql-resultset.
Bovendien heb je dan altijd nog te maken met een verdubbeling van je gegevens als je het uit de mysql-resultset gaat sleutelen.

Localhost, sweet localhost


Verwijderd

Met MySQL 4.0 kun je UNION gebruiken in je SQL statement om resultaten uit losse queries aan elkaar te koppelen, mits de kolommen die eruit komen gelijk zijn aan elkaar. Anders kun je gewoon per tabel een query doen, en de resultaten van deze individuele queries in een HTML table samengevoegd weergeven.

Ik zie het probleem niet zo ....

Verwijderd

Topicstarter
Behalve als je provider geen 4 heeft...
Pagina: 1