Just nu i M3-nätverket
Jump to content

if sats fråga


menJada1

Recommended Posts

Har problem med if sats.

 

Har en variabel som heter status

beroende på hur den är 1,2,3

Skall olika sql komandon aktiveras.

Hur gör man eller är jag på rätt väg.

 

if ($status = 1)

{

$sql = SQL fråga1

}

if ($status = 2)

{

$sql = SQL fråga2

}

 

Får det inte att fungera, den gör alla frågorna

Link to comment
Share on other sites

Ja, du har några fel i koden där.

 

1. I PHP använder man == för att jämföra två värden, och ett enkelt = för att tilldela ett värde. Detta gör att du även kan tilldela en variabel ett värde i en if-sats vilket ofta kan vara användbart.

 

2. du bör använda dig av else if istället, annrs tar det mer processorkraft att kolla alla if-satser.

 

3. Om man har bara en variabel som kan ha många olika värden kan det vara kra att använda sig av en switch-sats istället för en if-sats.

 

Här är hur din korrekta if-sats ska se ut:

if ($status == 1) {
$sql = "SQL fråga1";
} else if ($status == 2) {
$sql = "SQL fråga2";
} else {
// Matchar varken 1 eller 2
}

 

Så här kan en switch-sats se ut:

switch ($status) {
case 1:
$sql = "SQL fråga1";
break;
case 2:
$sql = "SQL fråga2";
break;
default:
// Matchar ingen av ovanstående
break;
}

Tänk på att du måste lägga in ett break; annars fortsätter den ända tills den hittar ett break, även om du har flera case-satser under.

 

Link to comment
Share on other sites

if ($status == 1)

{

$sql = SQL fråga1

}

else if ($status == 2)

{

$sql = SQL fråga2

}

 

Felet du gjorde var alltså att använda = istället för ==. Ett vanligt nybörjarfel.

 

== används när man kollar om två variabler är lika.

 

= används för att tilldela ett värde till en variabel.

 

Cariad var förstås snabbare. :)

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

 

[inlägget ändrat 2002-11-04 14:51:20 av TicoRoman (Almir)]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...