Ik heb een zoekscript, deze zoekt op postcode. Eerst op 4 cijfers/dan op 3 enz. net zolang tot hij wat gevonden heeft behalve als hij niks kan vinden op 1 cijfer natuurlijk.

Nu is het zo dat dit uitgebreid moet worden dat hij zoekt over de hele tabel als er geen resultaten zijn na op 1 cijfer gezocht te hebben.

Probleem is alleen dat ik dat script niet gemaakt heb, en het is heel vreemd/onhandig opgebouwd waardoor ik geen idee heb hoe ik dit kan verwezenlijken.

code:
http://plaatscode.be/4651

Ik heb het idee dat het rond regel 203 gezocht moet worden.

EDIT: sommige inspringingen zijn niet helemaal lekker doorgevoerd, maar ok.
niemand die kan helpen? Ik heb het eigenlijk vanavond nodig :s

(ik weet btw dat ik eigenlijk 24 uur moet wachten)
Wat bedoel je precies met 'zoeken over de hele tabel'? En in wat voor opzicht zoek je eerst op 4 cijfers, dan op 3, enzovoort?
Als je het script bekijkt zul je zien dat er een while loopje in zit die ervoor zorgt dat er als er op 4 cijfers van de postcode niets gevonden wordt op 3 cijfers gaat zoeken, daarna op 2 en dat t/m 1 cijfer. De kans dat je hierbij wat vindt wordt steeds groter omdat je minder precies gaat zoeken uiteraard.

Nu blijkt dit alleen niet afdoende te zijn en wil de klant dat als er na de while loop op 1 cijfer nog niets gevonden wordt dat er dan helemaal niet meer naar postcode gekeken wordt maar dat er gewoon over de gehele tabel gezocht wordt.
Ik heb niet het hele script doorgenomen, maar ik zie dat je door het hele script heen een query aan het opbouwen bent.

Met het zoeken over de hele tabel bedoel je neem ik aan het zoeken op andere kolommen dan de postcode? Met andere woorden, dat de postcode er niet meer toe doet.

Kijk dan eens naar het stukje code beginnend op regel 244. Daar ga je een melding geven dat er niemand met deze postcode gevonden wordt. Het ligt dan voor de hand dat je hier iets gaat veranderen zodat er gezocht wordt op andere criteria.
als ik op regel 228 de while zou aanpassen dat deze tot 0 doorgaat en dan een query uitvoeren die LIKE '' (niets) doet, dan zou hij ook alles moeten vinden, probleem is alleen dat dan alreeds de voorgaande pogingen (met 4,3,2,1 cijfers) al in de query staan.
Deze zouden dan op dat moment dus weer verwijderd moeten worden uit de query.

Ik vrees zomaar dat dit een onmogelijk verhaaltje wordt.
God wat een ***scripts heeft die *** toch gemaakt. Ze drijven me tot waanzin.
Ik heb dit script eerst al helemaal moeten verbeteren vanwege de fouten die erin zaten en omdat het gewoon een onoverzichtelijk zootje was, kijk maar op http://www.plaatscode.be/4633, dat is het origineel.

Mocht iemand toch nog een ingeving hebben en zien hoe deze situatie opgelost kan worden hoor ik het heel graag, maar anders houd ik er gewoon mee op.

ps sorry voor het schelden, maar wordt hier vrij pissig van.

Reageren