pgdx Skrevet 30. juni 2004 Del Skrevet 30. juni 2004 Hei. Jeg har prøvd å lete på mysql sine manualsider, og har endelig lært meg å søke, men kun i fulltext, men nå har jeg et felt som består av årstall lagret som INT, og hvordan kan jeg søke blandt de? Hvordan kan jeg gjøre det mulig å søke på ord som ikke nødvendigvis er hele? http://cddb.lagring.net er ihvertfall siden. Jeg kan for eksempel ikke søke på "led", men søker jeg på "zeppelin", finner jeg mange. Dessuten vil jeg kunne søke på "zepp" og få opp alt som har med "zeppelin" å gjøre... Hjelp til søking? Lenke til kommentar
Torbjørn Skrevet 1. juli 2004 Del Skrevet 1. juli 2004 1) vær gjerne litt mer spesifik... det er mye man kan gjøre, f.eks: select * from tabell where year>1956 and year<2001 2) fulltekst lar deg bruke match funksjonen for søk, den gjør såkalte "fuzzy" søk Lenke til kommentar
pgdx Skrevet 1. juli 2004 Forfatter Del Skrevet 1. juli 2004 Jeg bruker en if (is_int($search)) { for å finne ut om jeg skal søke i årstall, men den returneres alltid som false. Hva er det jeg gjør feil? Jeg sender search fra et form som POST. <input type="text" /> har det noe å si? Lenke til kommentar
Lokaltog Skrevet 1. juli 2004 Del Skrevet 1. juli 2004 Ja, jeg tror stort sett alle variabler som returneres fra en form, uansett om du bruker POST eller GET returneres som string. Du kan jo bruke strlen($search) for å sjekke om det er et årstall med 4 siffer, eller kanskje bruke en if-løkke for å sjekke om det er et årstall mellom 1900 og 2004, sånn her: if((int)$search > 1900 && (int)$search < 2004) { // Søke i årstall } Eller..? Lenke til kommentar
???????? Skrevet 1. juli 2004 Del Skrevet 1. juli 2004 Data sendt fra et skjema er alltid en string, så for å sjekke om det er et tall eller ikke må du bruke is_numeric() Lenke til kommentar
Torbjørn Skrevet 1. juli 2004 Del Skrevet 1. juli 2004 det er riktig det som ??? sier, og det er også dette som står skrevet i dokumentasjonen på is_int, som du selvfølgelig sjekket før du postet? Lenke til kommentar
pgdx Skrevet 1. juli 2004 Forfatter Del Skrevet 1. juli 2004 Ja, men jeg ser nå selvsagt at jeg ikke leste den så nøye... oops... Tusen takk for hjelpen. Jeg har ihvertfall fått det til nå, og jeg brukte lokaltogs if-loop for å sjekke om det ligger mellom 1950 og 2100. 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å