Avatar billede PeaceDealer Nybegynder
11. august 2013 - 11:06 Der er 7 kommentarer og
1 løsning

Filter imod en database

Hej

Jeg er ved at prøve at lave et filter system til min side, hvor PHP tager titlen af en post og ser om der er noget i databasen som skulle matche.

Her er mit nuværene system:

$DB->query("SELECT id FROM filter WHERE filter_text LIKE '%". $Properties['Title'] ."%'");

    if($DB->record_count() != 0) {
        $Err = 'Du bliv fanget i filtert!';
        die();
    }
Avatar billede michael_stim Ekspert
11. august 2013 - 15:11 #1
Og spørgsmålet er?
Avatar billede PeaceDealer Nybegynder
11. august 2013 - 16:59 #2
Det system som jeg har skrevet her over lader ikke til at virke...

Og jeg aner ikke hvorfor...
13. august 2013 - 08:06 #3
Vi aftalte andetsteds, at jeg skulle deltage i dette spørgsmål.  Men det er vanskeligt, fordi du ikke forklarer problemstillingen særligt godt.  At "det lader ikke til at virke" siger ikke ret meget.  Hvis du fortæller hvad det er du vil opnå og hvad der så sker i stedet, så har vi en chance for at kunne hjælpe.

I dit kodeafsnit viser du en database query.  Hvis queryen giver resultat (hvis record_count er forskelligt fra 0) så sætter du en errormessage i variabelen $Err, og så lukker du programmet med die() uden at have skrevet noget ud.  Er det din hensigt?  Sandsynligvis ikke, du vil vel have skrevet noget ud hvis din query giver resultat og du vil vel have skrevet noget andet ud hvis din query ikke giver resultat.  Kom ind og fortæl hvad du vil.
Avatar billede PeaceDealer Nybegynder
15. august 2013 - 22:02 #4
Hvad jeg vil ha dette script til at gøre, er at der er en database med records såsom

Mig.Og.Min.Hund.

Så hvis man nu uploader noget med navnet:

Mig.Og.Min.Hund.På.Stranden

Skal scriptet opfange dette, og derved "dø" eller evt. skrive en fejl meddelelse.
15. august 2013 - 22:31 #5
Du siger, at skriftet skal dø eller evt. skrive en fejl meddelelse.  Jamen hvis du ikke kan beslutte entydigt hvad det er du vil opnå (om du vil have en fejlmeddelelse udskrevet eller ikke), så er der vist ikke meget change for at finde en løsning.  Din kode, i tilfælde af match, placerer fejlmeddelelsen "Du bliv fanget i filtert!" i variabelen $Err, men koden skriver ikke $Err ud, det er du klar over, ikke sandt?

Og du siger, at det "lader ikke til at virke".  Hvad sker der, når du har en match?  (Hvis der ingenting sker, så virker det som programmeret.  Det er du vel også klar over.)
Avatar billede PeaceDealer Nybegynder
17. august 2013 - 01:33 #6
Det script som jeg smed up manger også et include til en sub-side som ikke lige kom med op, aner ikke lige hvorfor, var nok smuttet...

$DB->query("SELECT id FROM filter WHERE filter_text LIKE '%". $Properties['Title'] ."%'");

    if($DB->record_count() != 0) {
        $Err = 'Du bliv fanget i filtert!';
        include('form/upload.php')
        die();
    }

Er mere passene
17. august 2013 - 07:13 #7
PeaceDealer, jeg stopper.  Vi kommunikerer ikke, og jeg er ked af at spilde mere af din tid.  Du forholder dig ikke til mine indlæg, og det eneste nye i dit sidste indlæg er include('form/upload.php') som jeg ikke kan se hvad indeholder.

Jeg håber for dig, at der er andre medlemmer der bedre kan fatte dig.  De finder næppe denne tråd, der allerede er en uges tid gamme.  Hvad jeg vil foreslå er, at du lukker denne tråd (med eget svar,)  tænker problemstillingen godt igennem (for eksempel vil du have en fejlbesked skrevet ud eller ej,) opretter et nyt spørgsmål, der vil få frisk opmærksomhed, og i dette nye spørgsmål forklarer den komplette problemstilling, giver hele den relevante kode (og med det samme,)  forklarer hvad der sker hvis der ikke er en match, og forklare hvad der skal ske når der er en match og hvad der sker i stedet for.

Det er et stykke arbejde at stille et spørgmål på en ordenlig måde.  Det er sket adskillige gange, at mens jeg selv har formulerede et spørgsmål og prøvet at tænke det hele igennem på en frisk for at kunne forklare det så andre kunne forstå det, og så beskrive præcist hvad jeg allerede have prøvet for at løse det, så fandt jeg selv løsningen.
Avatar billede PeaceDealer Nybegynder
18. august 2013 - 22:30 #8
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester