search med preg_match

Tags:    php

Hej.

Jeg står og er igang med at lave nogle søge felter, og irrationen går på at det ikke fremkalder noget resultat.

Der er 3 slags søge muligheder, derfor har jeg skildt det lidt af:

Fold kodeboks ind/udKode 


Fold kodeboks ind/udKode 


Fold kodeboks ind/udKode 


$string er søgningen som brugeren har smidt ind i min function..
resulter($row['id']) er bare en der sotere resultaterne bagefter (den del virker uden problemer)

Jeg bliver helt vild stresset, har arbejdet på det siden igår morges, nu skal det altså bare snart virke :P



Indlæg senest redigeret d. 04.02.2011 15:19 af Bruger #15611
4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Det kunne være rart med lidt information om hvad du forventede skulle ske.
Du returnerer ikke noget, du skriver ikke noget ud, jeg kan ikke se, at du opdaterer databasen. Hvad forventede du, og hvad skete der i stedet ?



Tror lige jeg poster begge functioner engang:

Fold kodeboks ind/udKode 




Forventede at den henter et antal rækker ud fra nogle matches, og at den så sendte den til resulter() som så ville sotere yderligere, også sende det til brugeren.

Der sker bare intet, blank skærm.



Puh det var ikke så lidt da.. Det er lidt svært at finde ud af hvad den skal gøre fordi funktionen er så lang, du kan evt. afkorte den sådan her:
Fold kodeboks ind/udKode 


der er nogle ting jeg ikke helt forstår:

result() - dit id i din table er vel integer (altså et nummer (helst unikt))? Hvorfor skal den så lede efter søgeresultatet i id feltet??? Forstår ikke formålet med funktionen? Hvis du vil udskrive $row['domain'] på alle fundne resultater, så kan du gøre det sådan der --^

preg_match er vel overflødig når databasen kun har fundet de resultater der indeholder $string?? :)

$stringen = explode(" ", str_replace(",", " ", $row['search_words'])); - bedre at bruge $stringen = explode(",", $row['search_words']);

------------

Den funktion der bruger du bare sådan her:

searchablewords("string"); // leder efter string i id og returnere domain

searchablewords("string","company"); // leder efter string i company og returnere domain

bemærk: jeg har slet ikke testet koden, bare lige skrevet det on the fly




Indlæg senest redigeret d. 05.02.2011 02:20 af Bruger #16392
t