brug af if og else

Tags:    if else php

Jeg bruger følgende kode:
Fold kodeboks ind/udPHP kode 


Men jeg kan ikke få den til at fungere. SOm den står der vil den vise et billede uanset om der er en værdi i "Billede" eller ej.
Sætter jeg den til
Fold kodeboks ind/udPHP kode 

Så viser den INGEN billede (selvom jeg ved at der skal være et).

Hvad er det lige jeg gør galt????



6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 9 karma
Sorter efter stemmer Sorter efter dato
Hvad med
Fold kodeboks ind/udPHP kode 

?

Det din oprindelige kode gør, er at den bruger "<>" som betyder om noget er forskellig fra noget andet.
Det jeg har skrevet betyder at noget ikke er ligmed noget andet (Hvilket i den her sammenhæng er det samme som det første).

Jeg tror ikke at der er noget galt med din if-else sætning, men nok nærmere noget galt med det $Billede indeholder.

Når der altid bliver vist et billede, må det betyder at $Billede inderholder et eller andet.

Prøv at skrive var_dump($Billede); før din if-else sætning og se hvad der bliver udskrevet.

Mit gæt er at $Billede inderholder noget som ikke er en tom streng.

En lille tilføjelse
større end og mindre end tegn, bruges når værdier skal tjekkes i forhold til hinanden.
Hvis du vil tjekke strenge mod hinanden skal du som regel bruge == for at tjekke om de to strenge er ens, eller =! for at tjekke om de er forskellige fra hinanden.




Indlæg senest redigeret d. 27.06.2013 23:16 af Bruger #13363
er det ikke fordi du skal skrive:
Fold kodeboks ind/udPHP kode 



og prøv evt. PHP's alternative syntax. Det gør det lidt nemmere, at skrive PHP og HTML sammen:
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 28.06.2013 09:47 af Bruger #17081

Er det fordi der skrives row???

$row fungere i det her tilfælde som et array.
$row er en form for link til en tabel i din database hvor der er det data du gerne vil hente ud.

Et sted i din kode har du noget der ligner det her
Fold kodeboks ind/udPHP kode 

Det der sker er at $query varibalen gemmer på alt hvad der bliver fundet i databasen udfra det der bliver skrevet i mysql_query funktionen.
Dernæst bruges der en while løkke til at løbe $query variablen igennem, med funktionen mysql_fetch_array.
I while løkken gemmes der et array over data der er blevet fundet i hver række i tabellen der er blevet kigget igennem af mysql_query funktionen i $row variablen.
Dette betyder at $row fungere som en variabel, hvilket er hvorfor du kan skrive $row['Billede'] for at få data der findes i til et billede i tabellen.


Men hvor og hvordan står der her hvad den skal sortere efter?

Det er måden if() fungere på.
Inde i if()'en bliver der tjekket om det der står i den er sand eller falsk.

F.eks.
Fold kodeboks ind/udPHP kode 


Her vil if-else sætningen siger udskrive falsk, fordi det der er i if()'en er en tom streng og ikke indeholder noget.
Men hvis man skriver noget i $var variablen og får if()'en til at tjekke den igen udskriver den sand.

Fold kodeboks ind/udPHP kode 


Det vil sige at med if($row['Billede']) tjekkes der om der er værdi i der hvor der hentes billeder fra. Hvis $row['Billede'] indeholder en værdi, så er if()'en sand, men hvis der ikke er en værdi er den falsk.


Håber at det er til at forstå :)



Indlæg senest redigeret d. 29.06.2013 13:51 af Bruger #13363
Det har jeg også prøvet, men så viser den IKKE det billede som jeg VED at der er. Det synes jeg er lidt underligt.

Hvis jeg så laver mellemrum mellem "" så der istedet står " "
Så viser den billedet - men til gengæld også et billede der hvor der ikke skal være et billede.

Hvor er det jeg skal prøve at skrive det med dump?
Var_dump udskriver "NULL"

??både der hvor der ER et billede samt der hvor der IKKE er et billede. ??



Indlæg senest redigeret d. 28.06.2013 07:48 af Bruger #17644
Tusind tak!
Det var lige det der virkede :)

Fold kodeboks ind/udPHP kode 


Men hvor og hvordan står der her hvad den skal sortere efter?
Altså kan jo se at det virker - ,em hvilken del af koden er det som siger at den skal det ene hvis der er en værdi og det andet hvis der ikke er?????
Er det fordi der skrives row???



Det er det. Tusind tak for forklaringen!



t