PHP och MySQL - Övning 48:1
Grunderna i PHP

Länkar till info om filerna på den här sidan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Länkar till en demo av filerna 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Övningarna kräver att man har möjlighet att använda PHP och MySQL
(Om server, databas mm inte stämmer med dina uppgifter så byter/ändar du på det som behövs)

  1. 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.
  2. 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.
  3. 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.
  4. 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


  5. 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.
  6. 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.
  7. 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.
  8. Exportera informationen om platsen PHP och spara exportfilen i huvudmappen php.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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>

  20. 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.
  21. 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.
  22. 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>";

    ?>

  23. Kontrollera resultatet i fil 2.

  24. 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.

  25. 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>";
    ?>

  26. 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.
  27. 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.
  28. 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.
  29. 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>";
    ?>

  30. 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.
  31. 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>";
    ?>

  32. FIL 7

    I fil 7 så har jag använt variabler även för totalpoängen.
  33. 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>";
    ?>

  34. 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 ( % ) .
  35. 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>";
    ?>

  36. 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.
  37. 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.
  38. 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>";
    ?>

  39. 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.
  40. 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>";
    ?>

  41. 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);
  42. 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>";

    ?>

  43. 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.
  44. 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);
    ?>

  45. 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

  46. 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.

  47. PHP-koden i fil 14:

    <?php

    $i=1;

    while($i<=20)
    {
    echo "$i<BR>";

    $i=$i+1;
    }
    echo "</table>";
    ?>

  48. FIL 15

    Fil 15 är inte speciellt annorlunda. Här utförs en multiplikation och en del av en multiplikationstabell skrivs ut.
  49. 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>";
    ?>

  50. 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.
  51. 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>";
    ?>

  52. 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.
  53. 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;
    }
    ?>

  54. Fortsätt nu i övning 48:2 där du får lära dig mer om databaser och databaskoppling.

Den här sidan uppdaterades senast 2003-03-24 av tommy.maltell@edu.jonkoping.se