Avatar billede cayenne Nybegynder
13. maj 2003 - 16:43 Der er 13 kommentarer og
1 løsning

Søgning i 2 felter på en gang

Jeg har en tabel med 2 felter: fornavn og efternavn.

Hvordan gør jeg det muligt via et enket felt i en søgeformular at dele f.eks. "Børge Hansen" eller "Børge Møller Hansen" op i flere dele, der så søges på både i feltet fornavn og efternavn ??
Jeg går ud fra man skal bruge explode, men kan ikke gennemskue det. Håber I gider hjælpe :o)
Avatar billede schaefner Juniormester
13. maj 2003 - 16:47 #1
Avatar billede schaefner Juniormester
13. maj 2003 - 17:01 #2
Eller:

<?php
$navn = "Børge Svend Hansen"; // Navn
$split = ' '; // Hvad skal der splittet på?
$pos = strpos($navn, $split);
$fornavn = trim(substr($navn,0,$pos)); // Brøge
$efternavn = substr($navn,$pos); // Svend Hansen
?>
Avatar billede schaefner Juniormester
13. maj 2003 - 17:02 #3
Hov:

<?php
$navn = "Børge Svend Hansen"; // Navn
$split = ' '; // Hvad skal der splittet på?
$pos = strpos($navn, $split);
$fornavn = substr($navn,0,$pos); // Børge
$efternavn = trim(substr($navn,$pos)); // Svend Hansen
?>
Avatar billede schaefner Juniormester
13. maj 2003 - 17:03 #4
Regner med du selv kan lave den tilhørende sql-sætning.
Avatar billede schaefner Juniormester
13. maj 2003 - 17:07 #5
En mere logisk deling:
<?php
$navn = "Børge Svend Hansen"; // Navn
$split = ' '; // Hvad skal der splittet på?
$pos = strrpos($navn, $split);
$fornavn = substr($navn,0,$pos); // Børge Svend
$efternavn = substr($navn,$pos); // Hansen
?>
Avatar billede schaefner Juniormester
13. maj 2003 - 17:11 #6
$efternavn = trim(substr($navn,$pos));

Nu skulle den virke ;o)
Avatar billede cayenne Nybegynder
13. maj 2003 - 17:12 #7
Jeg kan jo aldrig på forhånd vide hvad der hører til fornavn og efternavn.
Jeg har heller ikke helt forstået om man så sender søgningen af sted ligeså mange gange som der er ord og i begge felter. F.eks. først sendes ord 1 til søgning i fornavn og derefter efternavn der efter ord 2 osv ?
Avatar billede schaefner Juniormester
13. maj 2003 - 17:18 #8
<?php
$split = ' '; // Hvad skal der splittet på?
$pos = strrpos($navn, $split);
$fornavn = substr($navn,0,$pos); // Børge Svend
$efternavn = substr($navn,$pos); // Hansen
?>

$navn er så det der bliver skrevet i en formular.

SELECT * FROM tabel WHERE fornavn='$fornavn' AND efternavn = '$efternavn'
Går udfra det er sådan den skal fungere.
Avatar billede cayenne Nybegynder
13. maj 2003 - 17:21 #9
Jo, men hvis nu en hedder Børge Svend Møller og en anden Børge Hans Møller, så vil jeg jo i eksempel 2 få puttet nr. 2 fornavn i efternavnet ??
(Undskyld hvis jeg er lidt sløv, det har været en lang dag :o)
Avatar billede schaefner Juniormester
13. maj 2003 - 17:22 #10
Hvis vi har navnet "Børge Hans Møller"
Hvordan vil du så have det delt?

Jeg deler normalt således:
fornavn: Børge
efternavn: Hans Møller
Avatar billede cayenne Nybegynder
13. maj 2003 - 17:27 #11
Nej, det er for det første ikke korrekt alfabetisering, for det andet, vil det vel også give problemer hvis man så hedder Børge Benny Hans Møller eller endnu værre et kinesisk navn, hvor efternavnet står først :o)(Eller man kun søger på 1 navn)
Jeg havde egentlig mere forestillet mig at man delte alle ordene op og så søgte på dem alle én efter én i begge felter, men det er måske overkill ?
Avatar billede schaefner Juniormester
13. maj 2003 - 17:32 #12
Hvis vi tager navnet "Børge Benny Hans Møller";

$pos = strrpos($navn, $split);
fornavn: Børge Benny Hans
efternavn: Hans Møller

$pos = strpos($navn, $split);
fornavn: Børge
efternavn: Benny Hans Møller
Avatar billede schaefner Juniormester
13. maj 2003 - 17:33 #13
$pos = strrpos($navn, $split);
fornavn: Børge Benny Hans
efternavn: Møller
Avatar billede cayenne Nybegynder
13. maj 2003 - 19:15 #14
Jeg fandt ud af det takket være det link du gav mig, så du får pointene. Mange tak for hjælpen :o)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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