LimeCut Skrevet 10. november 2011 Del Skrevet 10. november 2011 Heisann. Jeg driver å skal lage en søkemotor til ett prosjekt jeg driver med. Jeg tenkte at siden forumet nå begynner å ta form, er det forhåpentlig vis ikke lenge til søkemotor blir en etterlengtet funksjon. Det jeg sliter med er at jeg til nå kun har hatt spørringer mot en enkelt tabell, med untakk av ett sted, hvor jeg hadde spørring til to. Der brukte jeg LEFT JOIN og noe som het ON. Jeg forstår ikke helt hvordan disse to fungerer, og håper det finnes noen enklere måter å spørre til flere tabeller på. Jeg er fire tabeller. En for brukernavn, en for kategorier, en for emner, og en for innlegg. inlegg har foreign keys i bruker og emne. emne har foregin keys i bruker og kategorier. Det jeg vil er å søke på alle emner, alle poster og alle brukernavn. (sistnevnte brukernavn, er ikke veldig viktig, da jeg ikke har fått satt opp brukerprofiler enda). Lenke til kommentar
BlueEAGLE Skrevet 10. november 2011 Del Skrevet 10. november 2011 Tabell_Person ID (INT AUTO_INCREMENT PRIMARY KEY) Fornavn (VARCHAR 20) Etternavn (Varchar 20) Tabell_Telefon ID (INT AUTO_INCREMENT PRIMARY KEY) PersonID (INT) Type (VARCHAR 20) Telefon (VARCHAR 20) Hvis du har de to tabellene over og skal finne alle telefonnummer til person nummer $persid så er spørringen SELECT * FROM Tabell_Person LEFT JOIN Tabell_Telefon ON Tabell_Telefon.PersonID = Tabell_Person.ID WHERE Person.ID = $persid Du vil da få et resultat med for eksempel følgende verdier Rad1: 12, 'Tester', 'Testersen', 11, 12, 'Mobil', '99 12 34 56' Rad2: 12, 'Tester', 'Testersen', 12, 12, 'Jobb', '55 12 34 56' Rad3: 12, 'Tester', 'Testersen', 13, 12, 'Hjem', '22 12 23 45' Som du ser så inneholder radene alle feltene i rekkefølgen de er definert over. Det "ON" gjør er å definere forholdet mellom de to tabellene med uttrykket etter. Altså må Tabell_Telefon.PersonID være lik Tabell_Person.ID for at telefonnumeret skal bli tatt med. Håper det hjelper (og er riktig da jeg tok dette rett fra hukommelsen) Lenke til kommentar
Leakim Skrevet 10. november 2011 Del Skrevet 10. november 2011 (endret) SELECT noe_fra_tabell1, noe_fra_tabell2, mer_fra_tabell2 FROM tabell1, tabell2, tabell3; Dette henter ihvertfall ut fra forskjellige tabeller. For å søke kan du bruke SELECT(whatever)FROM(whatever)WHERE emne LIKE %søketekst%; Downside her er at denne vil finne f.eks "Biler" når du bare søker på "il". Sikkert en lett og mye smartere måte å gjøre dette på, men gidder ikke google det EDIT: Karen over meg har mye mer peil. Hør på han Endret 10. november 2011 av Leaκim Lenke til kommentar
LimeCut Skrevet 11. november 2011 Forfatter Del Skrevet 11. november 2011 Her var det en del fornuftig, og jeg forstår ON bedre nå Skal sjekke ut alt iløpet av dagen, og gir fortløpende tilbakemeldinger her, foreløbig skal dere ha takk begge to. Mvh. LC Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå