Avatar billede radiv Nybegynder
10. december 2003 - 17:28 Der er 20 kommentarer og
2 løsninger

Sammenligne $row["række"] med 'tekst'

Jeg vil udføre en enkel test:

if  ($row["række"] == ('tekst')){
    noget
else
  noget andet

Værdien på venstre side hentes fra en tabel i mysql af typen text, højre side er en given tekst som gerne skulle være det samme.

Nogen som kan fortælle mig den korrekte syntaks?
Avatar billede squashguy Nybegynder
10. december 2003 - 17:49 #1
if($row["række"] == 'tekst'){
  noget
}else{
  noget andet
}
Avatar billede radiv Nybegynder
10. december 2003 - 18:04 #2
Nej, desværre, men prøv gerne igen!
Avatar billede squashguy Nybegynder
10. december 2003 - 18:25 #3
what?

hvis $row["felt_navn"] returnerer 'tekst', så vil "noget" bliver afviklet, ellers bliver "noget andet" afviklet.. dette er 100% korrekt syntax
Avatar billede exp Juniormester
10. december 2003 - 19:55 #4
... og jeg giver squashguy fuldstændig ret...!
Avatar billede radiv Nybegynder
10. december 2003 - 20:35 #5
Det er fint, men jeg ved at indholdet i $row["felt_navn"] er 'tekst', men jeg får stadig ikke funktionen til at gøre "noget" evt "noget andet".

Det jeg prøver på, er at lave en funktion der bestemmer en variabel baseret på hvad der står i et felt i databasen. Hvis det der står i databasen er det samme som jeg angiver, skal det være klasse1, hvis ikke skal det være klasse2. Det skulle være ligefrem, så der er noget andet jeg gør forkert.

function bestemVar($setVar) {
        if  ($row["felt_navn"] == 'tekst'){
            $var = "klasse1";
            return ($var);
            }
        else {
            $var = "klasse2";
            return ($var);
            }
        }

Nogle bud?
Avatar billede exp Juniormester
10. december 2003 - 20:36 #6
prøv lige at gøre sådan:

echo urlencode($row["felt_navn"]);
Avatar billede radiv Nybegynder
10. december 2003 - 20:52 #7
som en del af if-sætningen?
Det giver  parse error, unexpected T_ECHO

Teksten indeholder kun bogstaver, og ingen mellemrum.
Avatar billede exp Juniormester
10. december 2003 - 21:03 #8
nej, bare lige prøv at udskrive hvad der står, i en linie for sig selv
Avatar billede radiv Nybegynder
10. december 2003 - 21:08 #9
ja, og det giver teksten, lige som den står i feltet i databasen
Avatar billede exp Juniormester
10. december 2003 - 21:25 #10
så ved jeg det sgu ikke - men ovenstående er korrekt...
Avatar billede radiv Nybegynder
10. december 2003 - 21:34 #11
måske gør jeg noget galt når jeg deklarerer variablen. Hvordan skal det være?
Avatar billede exp Juniormester
10. december 2003 - 21:39 #12
prøv at poste den kode du bruger, incl database-tilslutningen (IKKE PASSWORD!!!)
Avatar billede Slettet bruger
10. december 2003 - 21:43 #13
Indenfor funktionen er $row med alle dens felter ikke kendt.
Avatar billede martinbk Nybegynder
10. december 2003 - 22:31 #14
et godt bud ville vel nok være
function bestemVar($setVar) {
  global $row;
        if  ($row["felt_navn"] == 'tekst'){
            $var = "klasse1";
            return ($var);
            }
        else {
            $var = "klasse2";
            return ($var);
            }
        }
forudsat self. row er globalt kendt i den fil din funktion ligger i
Avatar billede radiv Nybegynder
11. december 2003 - 08:10 #15
holybull, det var lige det som manglet!
Hvem vil ha' point?
Avatar billede Slettet bruger
11. december 2003 - 09:08 #16
Ellers kunne du jo bare overføre $row['felt_navn'] som en parameter til funktionen.

function bestemVar($setVar, $test) {
  if  ($test == 'tekst'){
    $var = "klasse1";
    return ($var);
  } else {
    $var = "klasse2";
    return ($var);
  }
}

Så skal du bare skrive bestemVar($setVar, $row['felt_navn']) når du kalder den.
Avatar billede radiv Nybegynder
11. december 2003 - 10:03 #17
Det er også en løsning der fungerer!
Hvilken er den bedste, når funktionen (og andre) ligger i en separat fil, som skal importeres på flere sider (vha. include)?
Avatar billede Slettet bruger
11. december 2003 - 10:09 #18
Hvis du bruger min udgave, risikerer du ikke at skulle jagte fejl hvor du kommer til at ændre en global variabel i en funktion.

Derudover skulle de være ens. Det er mest et principspørgsmål, om man bruger globale variable. Jeg gør rundt regnet aldrig.

Men bare giv pointene til holybull. Han var den første med en fungerende løsning.
Avatar billede radiv Nybegynder
11. december 2003 - 10:15 #19
Jeg prøver jo at lave noget der fungerer, men samtidig noget der fungerer godt og er nemt at vedligeholde, så hvis det er ok for jer kan i dele pointene.
Tak for god hjælp (også til exp og squashguy).
Avatar billede radiv Nybegynder
14. december 2003 - 15:17 #20
holybull og sandbox, svar for at få point!
Avatar billede Slettet bruger
14. december 2003 - 23:31 #21
OK, det er dit spørgsmål, så du bestemmer.
Avatar billede martinbk Nybegynder
19. december 2003 - 18:45 #22
jeg er jo som altid langsom :)
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