Avatar billede Slettet bruger
01. juli 2003 - 18:15 Der er 7 kommentarer og
1 løsning

Opdeling af felt

Hej eksperter.

Jeg har nu siddet og bladeret rundt i manualen, men har ikke kunne finde en løsning, eller i hvert fald ikke fået det til at virke.

Jeg har en database, hvor jeg har en række der hedder level. Hver bruger kan så have et forskellig level. F.eks. har bruger nr 1. ABC - bruger 2 har så AB.

Hvordan kan jeg få den til at dele feltet op pr bokstav, og derefter sige hvis feltet indeholder A gør det. Hvis den indeholder B gør dette osv.
Avatar billede tipsen Nybegynder
01. juli 2003 - 18:48 #1
Prøv at forklar lidt mere!
Avatar billede jakoba Nybegynder
01. juli 2003 - 18:50 #2
hvis der kun er de 3 bogstaver  'A', 'B' og 'C' kan det ikke betale sig. der er kun 8 mulige kombinationer i det hele, og du kan klare det med betingelser

WHERE brugettype IN ( 'A', 'AB', 'AC', 'ABC' )

ovenstående tester 'er der et A'

der er også forskellige strengfunktioner i mysql du kan bruge: http://www.mysql.com/doc/en/String_functions.html
WHERE LOCATE("A",brugertype)>0

sand hvis der er et "A" i strengen et sted.

mvh JakobA
Avatar billede Slettet bruger
01. juli 2003 - 19:15 #3
Well jakoba. Det var selvfølgelig kun et eksempel. Scriptet skal naturligvis udbygges så der muligvis er op til L i systemet.

Men vil lige forsøge at kigge på det :)
Avatar billede Slettet bruger
01. juli 2003 - 19:31 #4
Det jeg havde tænkt mig var at gøre følgende:
Hente informationen fra brugeren som er logget ind. Finde ud af hvad hans level er. og så bruge if funktioner. Noget ala:

$hent = mysql_query("select * from brugere WHERE Brugernavn = '$_SESSION[brugernavn]'");
$row = mysql_fetch_array($hent);
 
$level = $row[Level];

if($level == A) { echo "Du har level svarende til A"; }
if($level == B) { echo "Du har level svarende til B"; }
if($level == C) { echo "Du har level svarende til C"; }

Jeg kan så bare ikke helt se hvordan jeg i starten kan få den til at dele det op, således at den finder ud af hvad level feltet indeholder, og sådan at jeg kan bruge if betingelserne som vist ovenfor. Men det er måske slet ikke muligt at gøre som mit eksempel ovenfor?
Avatar billede Slettet bruger
01. juli 2003 - 20:44 #5
Sætter gerne lidt flere points af hvis det skulle gøre en forskel.
Avatar billede tipsen Nybegynder
01. juli 2003 - 20:52 #6
Du vil nok få en del ud af at læse:

http://www.devshed.com/Server_Side/PHP/TimeIsMoney/TimeIsMoney1/page1.html
http://www.devshed.com/Server_Side/PHP/TimeIsMoney/TimeIsMoney2/page1.html

Det er nok den funktionalitet du ønsker - bare på en smartere måde :-)
Avatar billede Slettet bruger
02. juli 2003 - 13:10 #7
Meget god artikel tipsen.
Men fandt ikke noget jeg umiddelbart kunne fixe det med.

Istedet fandt jeg en løsning i manualen.

if(eregi(\"A\", $level)) {
print\"Du har level A\";
}

På den måde kan jeg hvis jeg får brug for et nyt level blot indsætte en ny hvor den søger efter f.eks. B :)

Så jeg lukker og slukker selv. Det burde være iorden da ingen af jer har smidt et svar, og jeg selv kom med løsningen.

Men alligevel, tak for hjælpen og den tid i brugte på det.
Avatar billede tipsen Nybegynder
02. juli 2003 - 13:13 #8
Det du skulle bruge var den bitwise styring af rettigheder.
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