- I den här övningen (48:1) ska du först lära dig
lite kort om grunderna i PHP. I övning
48:2 får du också lära dig en del om grunderna
i SQL och nur man gör en databasuppkoppling.
- Jag har till kursen gjort ett antal php.filer numrerade från
1 och uppåt som hänger ihop med informationen och övningarna
nedan. Överst på den här sidan finns länkar till
dessa filer, men här kan du bara se det färdiga resultatet.
För att du ska kunna se filerna och ändra och testa dem måste
du först göra en del förberedelser.
- Skapa en mapp php på enheten H (eller C om
du har din egen dator och inte är kopplad till ett nätverk).
I mappen php skapar du undermapp till vid namn kap48.
Anledningen till detta är att du redan nu ska skapa en bra struktur
så att du senare ska kunna att hämta fler mappar i
den här kursen som ska ligga i kap48-mappen och sedan ska du kunna
hämta flera helt fritstående mappar från olika skriptarkiv
som du kan lägga direkt under php-mappen. Det är inte bra
om allt ligger i huvudmappen.
- Hämta en zippad fil med filer som du skall använda. Zippa
upp filen och lägg mappen grund i mappen
kap48 som ligger i mappen php. Hämta
alltså filen grund.zip som finns på följande adress:
http://www.edu.jonkoping.se/it/ped/gy/uppsok/kap48/grund.zip
Den samling av filer och mappar som du hämtar ovan är egentligen
en delmängt av en störe samling av filer och mappar som täcker
hela innehållet i kapitel 48. Mappen kap48 finns med i samlingen
ovan men den innehåller bara det som är nödvändigt
för att göra grundövningarna. Om du vill hämta hela
innehållet i mappen kap48 inklusive mappen med grundövningarna
så hämtar du istället filen kap48.zip på följande
adress:
http://www.edu.jonkoping.se/it/ped/gy/uppsok/kap48/kap48.zip
- Det är tänkt att man under kursen ska använda Dreamweraver
MX. Eftersom det hela tiden är koder som används så
går det också mycket bra att använda ett annat program
t ex Anteckningar i Windows och WS-FTP LE som för att ladda upp
filerna. Dinns dock en del fördelar med Dreamweaver t ex att PHP-koden
visas med en särskild färg.
- Starta Dreamweaver MX
och skapa sedan en ny plats (en lokal webbplats). Välj fliken
Avancerat. Huvudmappen för platsen ska vara mappen php.
Välj PHP
som namn för platsen. Fyll i som webbadress http://193.183.192.8/user/anvxxx/
där anvxxx byts ut mot ditt login som du har fått av din
lärare.
- Fyll också i dina Fjärrinformationsuppgifter. Välj
Åtkomst: FTP och FTP-värd: 193.183.192.8. Som värdkatalog
anger du ingenting. Ange ditt användarnamn och lösenord.
- Exportera
informationen om platsen PHP och spara exportfilen
i huvudmappen php.
- Eftersom du kanske redan har en del annat på din webbplats och
eftersom du kommer att lägga en del annat på platsen så
låter du mapen php motsvara huvudmappen på
serven och mappen kap 48 blir på servern liksom på din plats
en undermapp till huvudmappen.
- Klicka nu på Expandera/komprimera-ikonen i Platsfönstret
och ladda upp allt till din webbplats i enlighet med informationen i
ovanstående punkt. Fjärrplatsen och den lokala
platsen synkroniserar då med varandra.
- Kontrollera nu att några av filerna 1-17 i mappen grund
fungerar genom att gå till Internet på adressen: http://193.183.192.8/user/anvxxx/kap48/grund/it48.htm
där anvxxx byts ut
mot ditt login som du har fått av din lärare.
- Du skall nu lära dig lite om grunderna om PHP. Det är ingen
komplett kurs om PHP. Meningen är istället att du lättare
skall förstå en del av de koder som används i kommande
övningar. Jag kommer nedan att kommentera en del filer i nummerordning
dvs filerna 1.php, 2.php osv. I de flesta av filerna presenteras de
tre översta lagen i fotbollens allsvenska maratontabell på
olika sätt.
- Om det inte står något annat så är din uppgift
alltid att för varje fil fr o m fil 2 komplettera med laget på
fjärde plats så att allt fungerar när du laddar upp
filen till din webbplats. Därför får du nu här
uppgifterna för det fjärde laget:
Plats: 4, lag: IFK Norrköping, antal vunna matcher: 697, antalet
oavgjorda matcher 397, total poäng om seger ger 3 poäng: 2488.
- Din uppgift är också att med hjälp av egen fantasi
för varje fil fr o m fil 2 experimentera lite genom att ändra
lite för att testa vad som händer. På så sätt
får du en bättre känsla för vad som går att
ändra på och vad som inte går att ändra på.
Minsta fel i PHP-koden gör att sidan inte kan visas. Så är
det ju ofta inte med HTML. Webbläsaren försöker visa
sidan trots att den innehåller en del felaktig kod och ibland
så ser det riktigt bra ut trots felet.
- FIL 1
PHP-filer har normalt filtlillägget php och de innehåller
oftast både HTML-kod och PHP-kod. Nedan följer ett exempel
från fil 1.
- När jag nedan vill poängtera hur ett viss tecken eller en
viss kod ser ut så använder jag ofta parenteser runt tecknet/koden.
Förklaringen nedan är ett exempel på detta.
- Det börjar med vanlig HTML-kod. PHP-koden börjar med (
<?php ) eller bara ( <? ) och slutar
med ( ?> )eller ( ?php> ). Varje
rad avslutas med ( ; ). Mellanslag ignoreras av PHP
men koden kan ibland göras tydligare genom att man använder
mellanslag.
- Titta först i koden nedan eller i filen 1.php som du har hämtat
och jämför med att i Internet Explorer välja Visa Källa
för att se HTML-koden på den sida som visas. Som du ser så
visas ej PHP-koden. Den omvandlas till HTML-kod innan sidan visas. Därför
gör det inget att man inom PHP-koden skriver login och lösenord
till sin databas i PHP-koden såsom vi gör längre fram
i övningen.
- Så här ser alltså koden i filen 1.php ut:
<html>
<head>
<title>Maratontabell</title>
</head>
<body>
<h3 align="center">Maratontabell</h3>
<p align="center">Vi ska nu presentera den allsvenska
fotbollens maratontabell.</p>
<hr>
<?php
echo "Plats Lag Poäng ";
echo "1 IFK Göteborg 2686 ";
echo "2 Malmö FF 2668 ";
echo "3 AIK 2597";
?>
<hr>
<p align="center"><a href="it48.htm">Ingångssidan</a><p>
</body>
</html>
- Koden echo betyder skriv ut på bildskärmen
och den koden är mycket vanlig. Istället för echo kan
man också skriva print. Om det man skall skriva
ut är vanlig text eller HTML-kod så måste man ringa
in texten med citationstecken dvs med tecknet ( "
). All PHP-kod omvandlas till HTML på webbservern av en PHP-tolk.
I det här enkla fallet där det inte finns några HTML-koder
omvandlas enbart texten:
Plats Lag Poäng 1 IFK Göteborg 2686 2 Malmö FF
2668 3 AIK 2597
Om det inte hade funnits ett mellanslag på slutet av
varje rad så hade det inte blivit något mellanslag mellan
Poäng och 1.
- Du tänker kanske: "Kan man inte skriva
det här direkt utan att använda PHP." Det är ju
alldeles riktigt men i framtiden kommer du till andra fall då
det blir nödvändigt att använda PHP och nu övar
du dig bara på att använda PHP för
att skriva ut vanligt text och i nästa exempel också HTML-kod
på skärmen så att du lättare ska förstå
framtida övningar.
- FIL 2
För att kunna få en snyggare utskrift så använder
man HTML-kod. Om man t ex skriver <BR> efter varje rad men innan
tecknet: ( " ) så blir det också ny
rad vid presentationen:
<?php
echo "Plats Lag Poäng<BR>";
echo "1 IFK Göteborg 2686<BR>";
echo "2 Malmö FF 2668<BR>";
echo "3 AIK 2597<BR>";
?>
- Kontrollera resultatet i fil 2.
- FIL 3
Ännu snyggare blir det om man lägger allt i en tabell:
<?php
echo "<TABLE>";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>";
echo "<TR><TD>1<TD>IFK Göteborg<TD>2686</TR>";
echo "<TR><TD>2<TD>Malmö FF<TD>2668</TR>";
echo "<TR><TD>3<TD>AIK<TD>2597</TR>";
echo "</TABLE>";
?>
Kontrollera resultatet i fil 3.
- FIL 4
I fil 4 är tabellen centrerad och några
fler attribut har använts. Kontrollera resultatet:
<?php
echo "<table border=1 align=center cellspacing=2
cellpadding=3>";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>";
echo "<TR><TD>1<TD>IFK Göteborg<TD>2686</TR>";
echo "<TR><TD>2<TD>Malmö FF<TD>2668</TR>";
echo "<TR><TD>3<TD>AIK<TD>2597</TR>";
echo "</table>";
?>
- Man använder ofta variabler. Dessa föregås
alltid av ett dollartecken ( $ ) som
måste följas av en bokstav eller ett understrykningstecken
( _ ). Efter första tecknet kan
sedan variabelnamnet bestå av bokstäver, siffror och understrykningstecken.
Variabler är känsliga för stora och små tecken.
- En variabel fungerar som en behållare för någonting.
Man kan också säga att en variabel liknas vid ett utrymme
i minnet i vilket vi kan lägga data. Variabeln skapas samtidigt
som man tilldelar den ett värde.
- FIL 5
Det finns olika typer av variabler. Det värde som variabeln tilldelas
avgör vilken typ av variabel som skapas. Det finns olika typer
av variabler. I den här kursen kommer vi att stöta på
nr: 1, 2, 3, 4, 8.
Nr |
Datatyp |
Beskrivning |
1 |
Integer |
Heltal. Citationstecken eller apostrof behöver ej användas. |
2 |
Double |
Reella tal eller flyttal t.ex. 3,14159. Citationstecken eller
apostrof behöver ej användas. |
3 |
String |
(Tecken)sträng. Icke-numeriska värden. Vid strängar
så måste man ringa in texten med citationstecken dvs
med tecknet ( " ) eller med apostrof dvs
med tecknet ( ' ). Om man använder citationstecken
och om strängen innehåller namnet på en variabel
så kommer innehållet i variabeln att skrivas ut. Om
man använder apostrof så skrivs strängen ut exakt
som den är skriven i koden. |
4 |
Array |
Vektor. Förklaringar kommer i filerna som beskrivs nedan. |
5 |
Object |
Objekt används i objektorienterad programmering för
att skapa en kopia av en s k klass. |
6 |
Bool |
Används för att ange om något är sant eller
falskt. |
7 |
Null |
Används för att tala om huruvida en variabel har blivit
tilldelad något värde. |
8 |
Resource |
Resource används av speciella variabler som innehåller
en extern resurs t ex en MYSQL-databas. Vi kommer till den här
typen längre ned bland övningarna. |
I fil 5 används strängar. Se koden i fil 5
nedan och jämför med resultatet.
På de tre första används citationstecken. Strängen
$a1 tilldelas värdet IFK Göteborg
, strängen $a2 värdet Malmö
FF, strängen $a3 värdet
AIK.
Det är inte nödvändigt med att ringa in texten med citationstecken
eller med apostrof när man skriver ut en sträng dvs man kan
skriva
echo $a1;
På raderna 4-6 görs samma sak men apostroftecken används.
Vid utskriften blir det ingen skillnad eftersom i variabelns värde
inte ingår något variabelnamn.
Här är det onödigt att använda citationstecken.
På rad 7-8 tilldelas strängen $b1 värdet
IFK Göteborg, $a2 och $a3 är de tre högst placerade
lagen. Här ingår i strängens värde namnet
på en annan variabel. På rad 7 används citationstecken
och på rad 8 apostrof. Utskrifterna blir olika. Här är
det nödvändigt att använda citationstecken om man vill
att lagens namn ska skrivas ut.
För att få ny rad mellan utskrifterna har jag vid utskriften
av rad 1 angett koden på två rader
echo $a1;
echo "<BR>";
På rad 9-10 visas två andra sätt att få samma
utskrift på skärmen. På rad 9 har jag använt citationstecken
runt allt som ska skrivas ut:
echo "$a1<BR>";
Senare i kursen kommer mer information om s k operatorer. Operatorn
för strängkonkatenering ( . ) dvs en punkt
tas upp redan nu. När två eller flera strängar ska slås
ihop till en sträng, kallas det för en konkatenering
som utförs med hjälp av denna operator.
Både vanliga textsträngar och variabler av typen sträng
som används i samma kod slås ihop med punkter. På rad
10 har jag använt denna metod.
echo $a2."<BR>";
På rad 11 och 12 har jag slagit ihop ovannämnda med $a2
så att det på en rad skrivs ut IFK Göteborg
och på nästa Malmö FF.
echo $a1."<BR>".$a2;
Längst ned finns den gamla vanliga tabellen över de tre främsta
lagen i maratontabellen men nu används variabler i den mittersta
kolumnen.
- Så här ser alltså PHP-koden ut i filen 5.php:
<?php
$a1 = "IFK Göteborg";
$a2 = "Malmö FF";
$a3 = "AIK";
$a4 = 'IFK Göteborg';
$a5 = 'Malmö FF';
$a6 = 'AIK';
$b1 = "IFK Göteborg, $a2 och $a3 är de tre
högst placerade lagen";
$c1 = 'IFK Göteborg, $a2 och $a3 är de tre högst placerade
lagen';
echo $a1;
echo "<BR>";
echo $a2;
echo "<BR>";
echo $a3;
echo "<BR>";
echo $a4;
echo "<BR>";
echo $a5;
echo "<BR>";
echo $a6;
echo "<HR>";
echo $b1;
echo "<BR>";
echo $c1;
echo "<BR>";
echo "<HR>";
echo "$a1<BR>";
echo $a1."<BR>";
echo $a1."<BR>".$a2;
echo "<HR>";
echo "<table border=1 align=center cellspacing=2
cellpadding=3>";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>";
echo "<TR><TD>1<TD>$a1<TD>2686</TR>";
echo "<TR><TD>2<TD>$a2<TD>2668</TR>";
echo "<TR><TD>3<TD>$a3<TD>2597</TR>";
echo "</table>";
?>
- FIL 6
I fil 6 så har jag gjort om koden för
den vanliga tabellen så att sammanslagningen av de vanliga textsträngarna
och variabeln sker med hjälp av operatorn för strängkonkatenering
( . ).
Två ytterligare exempel på konkatenering visas på
raderna ovanför tabellen.
- PHP-koden i fil 6:
<?php
$a1 = "IFK Göteborg";
$a2 = "Malmö FF";
$a3 = "AIK";
echo $a1.$a2.$a3;
echo "<BR>";
echo $a1." ".$a2." ".$a3;
echo "<HR>";
echo "<table border=1 align=center cellspacing=2
cellpadding=3>";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>";
echo "<TR><TD>1<TD>".$a1."<TD>2686</TR>";
echo "<TR><TD>2<TD>".$a2."<TD>2668</TR>";
echo "<TR><TD>3<TD>".$a3."<TD>2597</TR>";
echo "</table>";
?>
- FIL 7
I fil 7 så har jag använt variabler även
för totalpoängen.
- PHP-koden i fil 7:
<?php
$a1 = "IFK Göteborg";
$a2 = "Malmö FF";
$a3 = "AIK";
$b1 = 2686;
$b2 = 2668;
$b3 = 2597;
echo "<table border=1 align=center cellspacing=2 cellpadding=3>";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>";
echo "<TR><TD>1<TD>$a1<TD>$b1</TR>";
echo "<TR><TD>2<TD>$a2<TD>$b2</TR>";
echo "<TR><TD>3<TD>$a3<TD>$b3</TR>";
echo "</table>";
?>
- FIL 8
I fil 8 så har jag skrivit förklaringar
till koden inom PHP-koden. En sådan förklaring på en
rad börjar man med två snedstreck dvs med ( // ).
En längre förklaring på mer än en rad inleds
med ( /* ) och avslutas med ( */ ).
Det går naturligtvis att räkna med hjälp av PHP. Det
finns fem aritmetiska operatorer.
Operator |
Förklaring |
+ |
Plus (Addition) |
- |
Minus (Subraktion) |
* |
Gånger (Multiplikation) |
/ |
Delat med (Division) |
% |
Modulusoperatorn. Variabeln får som värde resten
vid en division. |
I den här filen har jag använt variabler men också operatorerna
( + ) och ( * ). Förhoppningsvis förstår
du hur det hela är tänkt genom läsning
av förklaringarna i koden. Jag börjar dock med ett kort exempel
gällande modulusoperatorn ( % ) .
- PHP-koden i fil 8:
<?php
//8 delat med 3 är lika med 2 som heltal och 2 tredjedelar
dvs resten är 2
$f = 8%3;
echo $f;
echo "<HR>";
$a1 = "IFK Göteborg";
$a2 = "Malmö FF";
$a3 = "AIK";
//$b anger antal vunna matcher
$b1 = 774;
$b2 = 758;
$b3 = 715;
//$c anger antal oavgjorda matcher
$c1 = 364;
$c2 = 394;
$c3 = 452;
/*
$d anger poäng som utdelas om man har vunnit en match.
Förut fick man två poäng för seger men för
några år sedan ändrade
man till tre poäng för seger. I den tabell som idag presenteras
på nätet
av Svenska Fotbollsförbundet ger man tre poäng retroaktivt
tillbaka i tiden.
$d i den här filen överensstämmer med denna poängivning
medan tabellen
i filen 9.php visar hur det blir om man istället ger 2 poäng
för seger över alla åren.
*/
$d = 3;
$e1 = $b1*$d+$c1;
$e2 = $b2*$d+$c2;
$e3 = $b3*$d+$c3;
echo "<table border=1 align=center cellspacing=2
cellpadding=3>";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>";
echo "<TR><TD>1<TD>$a1<TD>$e1</TR>";
echo "<TR><TD>2<TD>$a2<TD>$e2</TR>";
echo "<TR><TD>3<TD>$a3<TD>$e3</TR>";
echo "</table>";
?>
- FIL 9
Fil 9 innehåller samma kod och samma förklaringar
som fil 8 men nu är $d = 2 dvs ett lag får
bara 2 poäng för seger.
- FIL 10
I fil 10 så har jag ändrat så
att $a anger uppgifter gällande IFK Göteborg,
$b uppgifter gällande Malmö FF osv.
Du har väl tidigare i Internet Explorer valt Visa Källa för
att se hur HTML-koden ser ut. HTML-koden har gått väldigt
långt till höger i en enda lång rad. Detta har jag
nu ändrat på genom att längst till höger på
flera rader skriva koden ( \n ) som är koden för
ny rad i HTML-koden.
Den här typen av kod kallas för en escapesekvens.
Escapeskevenser används vanligen för att kunna skriva och
visa tecken såsom citationstecken och dollartecken. Det hela fungerar
så att man helt enkelt skriver ett omvänt snedstreck (backslash)
dvs tecknet ( \ ) precis innan man skriver tecknet
dvs om man i texten vill att ett dollartecken ska skrivas ut så
skriver man \$. Det första som skrivs ut i fil
10 är också just ett dollartecken.
- PHP-koden i fil 10:
<?php
//$a anger uppgifter gällande IFK Göteborg
$a0 = 1;
$a1 = "IFK Göteborg";
$a2 = 2686;
//$b anger uppgifter gällande Malmö F
$b0 = 2;
$b1 = "Malmö FF";
$b2 = 2668;
//$c anger uppgifter gällande AIK
$c0 = 3;
$c1 = "AIK";
$c2 = 2597;
echo "\$\n";
echo "<HR>\n";
echo "<table border=1 align=center cellspacing=2
cellpadding=3>\n";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>\n";
echo "<TR><TD>$a0<TD>$a1<TD>$a2</TR>\n";
echo "<TR><TD>$b0<TD>$b1<TD>$b2</TR>\n";
echo "<TR><TD>$c0<TD>$c1<TD>$c2</TR>\n";
echo "</table>";
?>
- FIL 11
I fil 11 så används för första
gången arrays eller vektorer. En
vektor kan sägas vara en variabel som kan innehålla mer än
bara ett värde. Vektorer används oftast då man har flera
variabler som hör ihop. I kommande övningar med databaser
hör uppgifterna på varje rad ihop. Dessa värden brukar
kallas en post. Det kan t ex gälla en persons olika data.
Filen 11.php liknar filen 10.php. Enda skillnaden är att jag nu
använder vektorer. I stället för att skriva
$a0 = 1;
$a1 = "IFK Göteborg";
$a2 = 2686;
så skriver jag
$a[0] = 1;
$a[1] ="IFK Göteborg";
$a[2] = 2686;
För att lättare hålla reda på alla uppgifter
gällande IFK Göteborg så behandlar jag dem i grupp.
Precis som innan så står $a för uppgifter
om IFK Göteborg.
Varje del i en vektor innehåller en nyckel (key) och
ett värde. Indexsiffrorna 0, 1, 2 utgör nycklarna.
- PHP-koden i fil 11:
<?php
//$a anger uppgifter gällande IFK Göteborg
//$b anger uppgifter gällande Malmö F
$b[0] = 2;
$b[1]= "Malmö FF";
$b[2] = 2668;
//$c anger uppgifter gällande AIK
$c[0] = 3;
$c[1] = "AIK";
$c[2] = 2597;
echo "<table border=1 align=center cellspacing=2 cellpadding=3>\n";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>\n";
echo "<TR><TD>$a[0]<TD>$a[1]<TD>$a[2]</TR>\n";
echo "<TR><TD>$b[0]<TD>$b[1]<TD>$b[2]</TR>\n";
echo "<TR><TD>$c[0]<TD>$c[1]<TD>$c[2]</TR>\n";
echo "</table>";
?>
- FIL 12
I fil 12 visas samma vektorer som i fil 11. Enda
skillnaden är att vektorerna visas med ett annat skrivsätt.
Om man inte såsom nedan anger vad nycklarna skall kallas när
man skapar en vektor så kallas den första nyckeln 0, den
andra 1 osv.
Om man inte vill använda siffror som nycklar så går
det bra men då måste man tala om detta med den särskild
operatorn ( => ). Längst ned finns följande
exempel på användning av denna operator:
$d = array("r"=>1,"s"=>"IFK Göteborg","t"=>2686);
- PHP-koden i fil 12:
<?php
//$a anger uppgifter gällande IFK Göteborg
$a = array(1,"IFK Göteborg",2686);
//$b anger uppgifter gällande Malmö F
$b = array(2,"Malmö FF",2668);
//$c anger uppgifter gällande AIK
$c = array(3,"AIK",2597);
echo "<table border=1 align=center cellspacing=2
cellpadding=3>\n";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>\n";
echo "<TR><TD>$a[0]<TD>$a[1]<TD>$a[2]</TR>\n";
echo "<TR><TD>$b[0]<TD>$b[1]<TD>$b[2]</TR>\n";
echo "<TR><TD>$c[0]<TD>$c[1]<TD>$c[2]</TR>\n";
echo "</table>";
echo "<HR>";
$d = array("r"=>1,"s"=>"IFK
Göteborg","t"=>2686);
echo "<table border=1 align=center cellspacing=2
cellpadding=3>\n";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>\n";
echo "<TR><TD>$d[r]<TD>$d[s]<TD>$d[t]</TR>\n";
echo "</table>";
?>
- FIL 13
Man behöver inte i förväg veta hur många variabler
som en vektor innehåller. PHP-koden i fil 13 visar hur man kan
få en utskrift av hela raden. Här används också
print istället för echo.
- PHP-koden i fil 13:
<?php
//$a anger uppgifter gällande IFK Göteborg
$a = array(1,"IFK Göteborg",2686);
//$b anger uppgifter gällande Malmö F
$b = array(2,"Malmö FF",2668);
//$c anger uppgifter gällande AIK
$c = array(3,"AIK",2597);
//$d anger också uppgifter gällande IFK Göteborg
$d = array("r"=>1,"s"=>"IFK
Göteborg","t"=>2686);
print "Vektor \$a innehåller ";
print_r($a);
print "<BR>";
print "Vektor \$b innehåller ";
print_r($b);
print "<BR>";
print "Vektor \$c innehåller ";
print_r($c);
print "<BR>";
print "Vektor \$d innehåller ";
print_r($d);
?>
- FIL 14
I fil 14 används dels jämförelseoperatorer
och dels programslingor - loopar.
Jämförelseoperatorerna är åtta till antalet.
Operator |
Betydelse |
Exempel |
== |
Lika med |
4==4 är sant |
=== |
Lika med och av samma typ |
5===5 är sant men '3'===3 är falskt |
< |
Mindre än |
4<5 är sant och 5<4 är falskt |
<= |
Mindre än eller lika med |
2<=3 är sant liksom 3<=3 |
> |
Större än |
5>4 är sant |
>= |
Större än eller lika med |
5>=4 är sant liksom 5>=5 |
!= |
Icke lika med (Skilt ifrån) |
5!=4 är sant |
<> |
Icke lika med (Samma betydelse som raden ovanför) |
5<>4 är sant |
!== |
Icke lika med eller inte av samma typ |
5!='5' är sant |
- Programslingor eller loopar upprepar en viss kod till ett speciellt
villkor har uppfyllts. Det finns flera varianter men här tittar
vi bara på while (uttryck ) {satsblock}
som är den variant som brukar användas när man hämtar
data från en en MYSQL-databas.
En sats är ett uttryck som avslutas med semikolon.
Ett satsblock är en rad satser inom klammer. Om
man man har flera satser efter varandra så måste kompilatorn
veta var while-satsen slutar. I sådana fall måste man sätta
klammrar runt satsblocket. Om bara en sats följer efter while
(uttryck ) så behöver man inte skriva klamrar. I
exemplet nedan har man två satser och då måste man
skriva klamrar.
I fil 14 så tilldelar man först variabeln
$i värdet 1. Medan $i är mindre eller
lika med 20 så skrivs värdet ut. Sedan ökas
värdet för variabeln $i med 1 genom uttrycket
$i=$i+1; som också skulle ha kunnat skrivas $i++;
Eftersom värdet av $i nu bara är 2 så
gäller att 2 skrivs ut och sedan 3 ända fram tills värdet
av $i är 20. När värdet av $i
är 21 så skrivs ingenting längre ut.
- PHP-koden i fil 14:
<?php
$i=1;
while($i<=20)
{
echo "$i<BR>";
$i=$i+1;
}
echo "</table>";
?>
- FIL 15
Fil 15 är inte speciellt annorlunda. Här
utförs en multiplikation och en del av en multiplikationstabell
skrivs ut.
- PHP-koden i fil 15:
<?php
$i=1;
$k=1;
while($i<=20)
{
$m=$i*$k;
echo "$i x $k = $m<BR>\n";
$i=$i+1;
$k++;
}
echo "</table>";
?>
- FIL 16
I fil 16 är du nu åter tillbaka till
lagen i allsvenskan och nu används både vektorer och while.
While används här på ett sätt liknande det i fil
14 och 15 för att man i koden ska slippa skriva varje rad som ska
skrivas ut. Man kan ju tänka vilken skillnad det blir om man har
mer än 50 rader som ska skrivas ut.
- Koden i fil 16:
<?php
//$a anger uppgifter gällande placering
$a = array(1,2,3);
//$b anger uppgifter gällande lag
$b = array("IFK Göteborg","Malmö
FF","AIK");
//$c anger uppgifter gällande poäng
$c = array(2686,2668,2597);
$d = $a[0];
echo "<table border=1 align=center cellspacing=2
cellpadding=3>\n";
echo "<TR><TH>Plats<TH>Lag<TH>Poäng</TR>\n";
$i=0;
while($i<=2)
{
echo "<TR><TD>$a[$i]<TD>$b[$i]<TD>$c[$i]</TR>\n";
$i++;
}
echo "</table>";
?>
- FIL 17
Genom att placera instruktioner i s k funktioner så kan du återanvända
en viss kod. Det är inte så svårt att göra egna
funktioner. Vi ska i fil 17 se hur en enkel funktion
fungerar. I koden function arean ($radie) kallas det
som skrivs innanför parentestecknen för en parameter.
- PHP-koden i fil 17.
<?php
$a=4;
$resultat = arean($a);
echo "Då radien är $a så är arean på
cirkeln $resultat";
function arean ($radie ) {
return $area = $radie * $radie * 3.14159;
}
?>
- Fortsätt nu i övning 48:2 där
du får lära dig mer om databaser och databaskoppling.