OPPITUNTI 11 DBM-funktioiden käyttö

Koko: px
Aloita esitys sivulta:

Download "OPPITUNTI 11 DBM-funktioiden käyttö"

Transkriptio

1 11. DBM-funktioiden käyttö 193 OPPITUNTI 11 DBM-funktioiden käyttö Jos sinulla ei ole pääsyä SQL-tietokantaan, esimerkiksi MySQL- tai Oracle-tietokantaan, sinulla on varmaankin mahdollisuus käyttää DBM-tyylistä tietokantajärjestelmää. Vaikka järjestelmässäsi ei olisikaan sellaista kirjastoa, PHP voi emuloida sen toimintaa. DBM-funktioiden avulla voidaan tallentaa ja muokata järjestelmän sisällä esiintyviä nimi/arvo-pareja. Vaikka nuo funktiot eivät tarjoakaan samanlaista tehoa kuin SQL-tietokanta, ne ovat hyvin joustavia ja helppokäyttöisiä. Koska formaatti on hyvin yleinen, on funktioita käyttävä koodi yleensä siirrettävää, vaikkakin DBM-tiedostot itse eivät sitä ole. Tämän oppitunnin aiheita ovat seuraavat: Kuinka avata DBM-tietokanta Kuinka lisätä tietoa tietokantaan Kuinka ottaa tietoa esille tietokannasta Kuinka muuttaa ja tuhota kohteita Kuinka tallentaa monimutkaisempaa tietoa DMB-tietokantoihin

2 DBM-funktioiden käyttö DBM-tietokannan avaaminen Voit avata DBM-tietokannan funktiolla dbmopen(). Funktio ottaa kaksi argumenttia: polun DBM-tiedostoon ja merkkijonon, joka sisältää avattavaa tietokantaa koskevia lippuja. Funktio palauttaa DBM-tunnisteen, joka voidaan viedä DBM-funktioille, jotka käsittelevät tietokannan tietoa. Koska dbmopen()-funktion käyttöön liittyy tiedostojen lukemista ja tiedostoihin kirjoittamista, tulee PHP-skriptillä olla oikeudet kirjoittaa hakemistoon, jossa tietokanta on. Liput, jotka viet dbmopen()-funktiolle, määrittävät tietokannan käsittelymoodin. Nämä moodit on lueteltu taulukossa Taulukko 11.1 Liput, joita dbmopen() käyttää Lippu Selitys r Avataan tietokanta lukemista varten w Avataan tietokanta lukemista ja kirjoittamista varten c Luodaan tietokanta (tai avataan olemassa oleva tietokanta lukemista/kirjoittamista varten) n Luodaan uusi tietokanta (tuhotaan aiempi tietokanta, jos se on olemassa) Seuraava koodi avaa tietokannan luoden uuden tietokannan, jos sitä ei vielä ole olemassa: $dbh = dbmopen( "./data/products", "c" ) or die( "Couldn't open DBM" ); Huomaa, että käytimme die()-lausetta lopettamaan skriptin suoritus, jos tietokannan avaaminen epäonnistuu. Kun lopetat tietokannan käsittelyn, sulje se funktiolla dbmclose(). Sulkeminen tulee tehdä siksi, että PHP lukitsee käsittelyssä olevan tietokannan, jotta muut prosessit eivät voisi muokata sitä silloin, kun sitä luetaan tai siihen kirjoitetaan. Jos tietokantaa ei suljeta, muut prosessit joutuvat odottamaan kauan ennen kuin ne pääsevät kiinni tietokantaan. Dbmclose() ottaa argumentikseen käytössä olevan DBM-tunnisteen: dbmclose ( $dbh ); Tiedon lisääminen tietokantaan Voit lisätä nimi/arvo-pareja avattuun tietokantaan funktiolla dbminsert(), joka ottaa argumenteikseen sopivan DBM-tunnisteen (jonka dbmopen() palauttaa), avaimen nimen ja tallennettavan arvon. Funktio palauttaa arvon 0, jos kaikki on onnistunut, arvon 1, jos alkio on jo tietokannassa, ja arvon -1, jos lisäämisessä tapahtuu virhe (yritetään esimerkiksi kirjoittaa tietokantaan, johon on vain lukuoikeudet). Jos lisättävä alkio on jo olemassa, kirjoitetaan tieto vanhan tiedon päälle. Listaus 11.1 luo ja avaa tietokannan nimeltä products ja lisää siihen hieman tietoa.

3 11. DBM-funktioiden käyttö 195 Listaus 11.1 Kohteiden lisääminen DBM-tietokantaan 1: <html> 2: <head> 3: <title>listing 11.1 Adding items to a DBM database</title> 4: </head> 5: <body> 6: Adding products now... 7: 8: <?php 9: $dbh = dbmopen( "./data/products", "c" ) or die( "Couldn't open DBM" ); 10: 11: dbminsert( $dbh, "Sonic Screwdriver", "23.20" ); 12: dbminsert( $dbh, "Tricorder", "55.50" ); 13: dbminsert( $dbh, "ORAC AI", " " ); 14: dbminsert( $dbh, "HAL 2000", " " ); 15: 16: dbmclose( $dbh ); 17:?> 18: </body> 19: </html> Kaikki arvot muunnetaan merkkijonoiksi, kun ne lisätään tietokantaan, joten koodissa on tuotteiden hinnat lainausmerkeissä; näin numeroarvot ovat siis merkkijonomuodossa. Noita merkkijonoja voidaan kuitenkin käsitellä lukuarvoina, kun ne otetaan tietokannasta. Huomaa myös, että käytämme avaimia, joissa on useampi kuin yksi sana. Jos yritämme nyt kutsua dbminsert()-funktiota samalla avainargumentilla, jota olemme jo käyttäneet, dbminsert() palauttaa arvon 1 eikä tee mitään muutoksia tietokantaan. Joissakin tilanteissa se on aivan sopivaa, mutta joskus voit haluta muuttaa olemassa olevaa tietoa tai luoda uusia elementtejä. Elementtien muuttaminen DBM-tietokannan kohdetta voidaan muuttaa dbmreplace()-funktiolla. Se ottaa argumenteikseen DBMtunnisteen, avaimen nimen ja uuden arvon. Funktio palauttaa arvon 0, jos kaikki menee hyvi,n ja arvon -1, jos virheitä tapahtuu. Listauksessa 11.2 on listauksen 11.1 koodi muutettu siten, että avaimet lisätään huolimatta niiden olemassaolosta.

4 DBM-funktioiden käyttö Listaus Kohteiden lisääminen ja muuttaminen 1: <html> 2: <head> 3: <title>listing 11.2 Adding or changing items to a DBM database</title> 4: </head> 5: <body> 6: Adding products now... 7: <?php 8: $dbh = dbmopen( "./data/products", "c" ) 9: or die( "Couldn't open DBM" ); 10: dbmreplace( $dbh, "Sonic Screwdriver", "25.20" ); 11: dbmreplace( $dbh, "Tricorder", "56.50" ); 12: dbmreplace( $dbh, "ORAC AI", " " ); 13: dbmreplace( $dbh, "HAL 2000", " " ); 14: dbmclose( $dbh ); 15:?> 16: </body> 17: </html> Ainoa muutos oli nyt se, että käytimme funktiota dbmreplace() funktion dbminsert() sijaan. Tiedon lukeminen DBM-tietokannasta Nyt kun osaamme lisätä tietoa tietokantaamme, on meidän pystyttävä myös hakemaan tietoja. Yksittäisen alkion hakemiseen voimme käyttää dbmfetch()-funktiota. Se ottaa argumenteikseen DBM-tunnisteen ja haettavan alkion nimen. Funktio palauttaa arvon merkkijonomuotoisena. Niinpä, jos haluamme käsitellä kohteen Tricorder hintaa, voimme käyttää seuraavaa koodia: $price = dbmfetch( $dbh, "Tricorde" ); Jos Tricorder -sanaa ei ole tietokannassa, dbmfetch() palauttaa tyhjän merkkijonon. Aina et kuitenkaan tiedä kaikkien tietokannan avainten nimiä. Mitä tekisit, jos sinun tulisi tulostaa jokainen tuote ja hinta selaimelle kirjoittamatta tietoja suoraan skriptiisi? PHP tarjoaa mekanismin, jolla voidaan käydä läpi tietokannan jokainen elementti. Ensimmäinen tietokannan avain saadaan esille funktiolla dbmfirstkey(). Se ottaa argumentikseen DBMtunnisteen ja palauttaa ensimmäisen avaimen. Huomaa, että kyseessä ei välttämättä ole ensimmäinen elementti, jonka lisäsit, koska DBM-tietokannat pitävät usein yllä omaa järjestysmenettelyään. Kun olet siepannut ensimmäisen avaimen, voit ottaa esille seuraavat avaimet funktiolla dbmnextkey(). Nytkin

5 11. DBM-funktioiden käyttö 197 dbmnextkey() vaatii DBM-tunnisteen ja palauttaa elementin avaimen. Yhdistämällä kyseiset funktiot funktion dbmfetch() kanssa voidaankin nyt listata koko tietokanta. Listaus 11.3 tulostaa tietokannan selaimelle. Listaus 11.3 Kaikkien tietueiden lukeminen DBM-tietokannasta 1: <html> 2: <head> 3: <title>listing 11.3 Reading all 4: records from a DBM Database </title> 5: </head> 6: <body> 7: Here at the Impossible Gadget Shop 8: we're offering the following exciting 9: products: 10: <p> 11: <table border=1 cellpadding ="5"> 12: <tr> 13: <td align="center"> <b>product</b></td> 14: <td align="center"> <b>price</b> </td> 15: </tr> 16: <?php 17: $dbh = dbmopen( "./data/products", "c" ) 18: or die( "Couldn't open DBM" ); 19: $key = dbmfirstkey( $dbh ); 20: while ( $key!= "" ) 21: { 22: $value = dbmfetch( $dbh, $key ); 23: print "<tr><td align = \"left\"> $key </td>"; 24: print "<td align = \"right\"> \$$value </td></tr>"; 25: $key = dbmnextkey( $dbh, $key ); 26: } 27: dbmclose( $dbh );

6 DBM-funktioiden käyttö 28:?> 29: </table> 30: </body> 31: </html> Kuva 11.1 esittää listauksen 11.3 tulostuksen. KUVA 11.1 Kaikkien tietueiden lukeminen DBMtietokannasta. Kohteen olemassaolo tietokannassa Ennen elementin lukemista tai asettamista on usein hyödyllistä tietää, onko elementti olemassa. Se voidaan saada selville funktiolla dbmexists(), joka ottaa argumenteikseen DBM-tunnisteen ja testattavan elementin nimen. Se palauttaa arvon true, jos elementti on olemassa. if ( dbmexists( $dbh, "Tricorder" ) ) print dbmfetch( $dbh, "Tricorder" ); Kohteen tuhoaminen tietokannasta Voit tuhota kohteen tietokannasta käyttämällä dbmdelete()-funktiota; se ottaa argumenteikseen DBMtunnisteen ja tuhottavan elementin nimen. Funktio palauttaa arvon true, jos tuhoaminen onnistui ja false, jos tuhottavaa elementtiä ei löytynyt. dbmdelete( $dbh, "Tricorder" );

7 11. DBM-funktioiden käyttö 199 Monimutkaisten tietorakenteiden lisääminen DBMtietokantaan Kaikki DBM-tietokannan tieto otetaan esille merkkijonomuodossa, joten tietokantaan voidaan tallentaa vain kokonaislukuja, merkkijonoja ja desimaalilukuja. Kaikki muut tietotyypit kadotetaan. Kokeilkaamme esimerkiksi taulukolla: $array = array( 1, 2, 3, 4 ); $dbh = dbmopen( "./data/test", "c" ) or die("couldn't open test DBM"); dbminsert( $dbh, "arraytest", $array ); print gettype( dbmfetch( $dbh, "arraytest" ) ); // tulostaa "string" Luomme taulukon ja tallennamme sen muuttujaan $array. Avaamme sitten tietokannan ja yritämme laittaa siihen alkion nimeltä arraytest, jossa on arvona $array-muuttuja. Testaamme sitten dbmfetch()-funktion palauttaman arvon tyypin ja saamme arvoksi string, emmekä Array. Onko taulukoiden tallentaminen siis mahdotonta? Avuksi tulee nyt PHP-ominaisuus, joka mahdollistaa minkä tahansa tietotyypin muuntamisen merkkijonomuotoon. Sitten tieto voidaan tallentaa tietokantaan tai tiedostoon. Tällä tekniikalla voidaan tallentaa taulukoita ja jopa objekteja (olioita) DBM-tietokantaan. Edellisessä esimerkissä olevan taulukon muuntamisessa merkkijonoksi on käytettävä serialize()-funktiota. Se ottaa argumentikseen minkä tahansa tietotyypin ja palauttaa merkkijonon: $array = array( 1, 2, 3, 4 ); print serialize( $array ); // tulostaa a:4:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;} Voimme nyt tallentaa merkkijonon DBM-tietokantaan. Saamme tiedon käyttökelpoiseen muotoon unserialize()-funktiolla; se ottaa argumentikseen sarjoitetun merkkijonon ja palauttaa arvon oikeassa tietotyypissä. Voimme nyt siis tallentaa monimutkaisia tietorakenteita DBM-tietokantojen hyväksymässä, suhteellisen yksinkertaisessa muodossa. Listaus 11.4 sarjoittaa assosiatiivisen taulukon tuoteluettelomme jokaisen alkion suhteen ja lisää tulokset tietokantaan. Listaus 11.4 Monimutkaisen tiedon lisääminen DBM-tietokantaan 1: <html> 2: <head> 3: <title>listing 11.4 Adding complex data to a DBM database</title> 4: </head> 5: <body>

8 DBM-funktioiden käyttö 6: Adding complex data to database 7: <?php 8: $products = array( 9: "Sonic Screwdriver" => array( price=>"22.50", 10: shipping=>"12.50", 11: color=>"green" ), 12: "Tricorder" => array( price=>"55.50", 13: shipping=>"7.50", 14: color=>"red" ), 15: "ORAC AI" => array( price=>" ", 16: shipping=>"34.50", 17: color=>"blue" ), 18: "HAL 2000" => array( price=>" ", 19: shipping=>"18.50", 20: color=>"pink" ) 21: ); 22: $dbh = dbmopen( "./data/newproducts", "c" ) 23: or die("couldn't open products DBM"); 24: while ( list ( $key, $value ) = each ( $products ) ) 25: dbmreplace( $dbh, $key, serialize( $value ) ); 26: dbmclose( $dbh ); 27:?> 28: </table> 29: </body> 30: </html> Muodostamme moniulotteisen taulukon, joka sisältää tuotteiden nimet avaimina ja neljä tuotetietotaulukkoa arvoina. Avaamme sitten tietokannan ja silmukoimme taulukon läpi. Kunkin alkion kohdalla viemme tuotenimen ja sarjoitetun tuotetaulukkoversion dbmreplace()-funktiolle. Sitten suljemme tietokannan. Listaus 11.5 sisältää koodia, joka ottaa tuon tiedon esille. Listaus 11.5 Sarjoitetun tiedon palauttaminen DBM-tietokannasta 1: <html> 2: <head>

9 11. DBM-funktioiden käyttö 201 3: <title>listing 11.5 Retrieving serialized 4: data from a DBM database</title> 5: </head> 6: <body>.black plate (207,1) 7: Here at the Impossible Gadget Shop 8: we're offering the following exciting 9: products: 10: <p> 11: <table border=1 cellpadding ="5"> 12: <tr> 13: <td align="center"> <b>product</b></td> 14: <td align="center"> <b>color</b> </td> 15: <td align="center"> <b>shipping</b> </td> 16: <td align="center"> <b>price</b> </td> 17: </tr> 18: <?php 19: $dbh = dbmopen( "./data/newproducts", "c" ) 20: or die("couldn't open test DBM"); 21: $key = dbmfirstkey( $dbh ); 22: while ( $key!= "" ) 23: { 24: $prodarray = unserialize( dbmfetch( $dbh, $key ) ); 25: print "<tr><td align=\"left\"> $key </td>"; 26: print "<td align=\"left\">$prodarray[color] </td>\n"; 27: print "<td align=\"right\">\$$prodarray[shipping] </td>\n"; 28: print "<td align=\"right\">\$$prodarray[price] </td></tr>\n"; 29: $key = dbmnextkey( $dbh, $key ); 30: } 31: dbmclose( $dbh ); 32:?> 33: </table> 34: </body> 35: </html>

10 DBM-funktioiden käyttö Listaus 11.5 on samanlainen kuin listaus Nyt esitämme kuitenkin useampia kenttiä. Avaamme tietokannan ja käytämme dbmfirstkey()- ja dbmnextkey()-funktioita käymään läpi tietokannan alkiot. Otamme sitten esille arvon ja käytämme unserialize()-funktiota muodostamaan tuotetaulukkoon. Sitten onkin yksinkertaista tulostaa kukin alkio selaimelle. Kuva 11.2 esitää listauksen 11.5 tulostuksen. KUVA 11.2 Sarjoitetun tiedon palauttaminen DBMtietokannasta Esimerkki Nyt meillä on tarpeeksi tietoa rakentaaksemme esimerkin, jossa luvun tekniikoita hyödynnetään. Tarkoituksemme on kehittää hallintasivu, jonka kautta sivuston ylläpitäjä voi muuttaa tietokannassa olevien tuotteiden hintoja. Tietokanta muodostettiin listauksessa Hallintahenkilön tulee pystyä poistamaan alkioita tietokannasta ja lisäämään sinne uusia. Sivua ei pidetä julkisella palvelimella, joten turvallisuus ei ole tämän projektin ongelma. Ensiksi rakennamme lomakkeen, joka yhdistää kaikki tietokannan alkiot. Käyttäjä voi muuttaa mitä tahansa hintaa tekstikentän kautta ja valita tuhottavat alkiot valintaruutujen avulla. Hän voi myös lisätä uuden alkion tietokantaan. Listaus 11.6 esittää koodia, jolla luodaan lomake. Listaus 11.6 DBM-tietokannan mukaisen HTML-lomakkeen luominen 1: <? 2: $dbh = dbmopen( "./data/products", "c" ) 3: or die("couldn't open test DBM"); 4:?> 5: <html> 6: <head> 7: <title>listing 11.6 Building an html form based 8: on content from a DBM database</title> 9: </head> 10: <body> 11: <form action="post">

11 11. DBM-funktioiden käyttö : <table border="1"> 13: <tr> 14: <td>delete</td> 15: <td>product</td> 16: <td>price</td> 17: </tr> 18: <?php 19: $key = dbmfirstkey( $dbh ); 20: while ( $key!= "" ) 21: { 22: $price = dbmfetch( $dbh, $key ); 23: print "<tr><td><input type='checkbox' name=\"delete[]\" "; 24: print "value=\"$key\"></td>"; 25: print "<td>$key</td>"; 26: print "<td> <input type=\"text\" name=\"prices[$key]\" "; 27: print "value=\"$price\"> </td></tr>"; 28: $key = dbmnextkey( $dbh, $key ); 29: } 30: dbmclose( $dbh ); 31:?> 32: <tr> 33: <td> </td> 34: <td><input type="text" name="name_add"></td> 35: <td><input type="text" name="price_add"></td> 36: </tr> 37: <tr> 38: <td colspan=3 align="right"> 39: <input type="submit" value="amend"> 40: </td> 41: </tr> 42: </table> 43: </form> 44: </body>

12 DBM-funktioiden käyttö 45: </html> Aloitamme avaamalla tietokannan kuten tavallisesti. Sitten aloitamme HTML-lomakkeen, joka osoittaa suoraan nykyiselle sivulle (PHP:n $PHP_SELF-muuttuja). Kun taulukon otsikot on tulostettu näytölle, käymme läpi tietokannan sisällön dbmfirstkey()- ja dbmnextkey()-funktioilla. Nämä funktiot palauttavat avaimet ja funktion dbmfetch() avulla saamme esille myös arvot. Kunkin rivin ensimmäiseen soluun luodaan valintaruutu. Huomaa, että annamme kaikille niille nimen delete[]. Nimi ohjaa PHP:tä muodostamaan taulukon nimeltä $delete kaikille lähetetyille arvoille, joilla on tuo nimi. Käytämme tietokannan alkion nimeä (joka on muuttujassa $key) kunkin valintaruudun arvona. Kun lomake lähetetään, meillä tulisi olla $delete-taulukko, jossa on kaikkien tuhottavien tietokanta-alkioiden nimet. Sitten tulostamme alkion nimen selaimelle ja luomme toisen tekstikentän. Tämä kenttä esittää tuotteen hinnan käyttäjälle; hinta on muutettavissa. Kenttä nimetään samanlaisella tekniikalla, jota käytimme edellisessä kentässämme. Tällä kertaa laitamme kuitenkin tietokanta-alkion nimeen hakasulkuparin. Nyt PHP muodostaa noista lähetetyistä kentistä assosiatiivisen taulukon nimeltä $prices; taulukon avaimina ovat DBM-alkioiden nimet. Suljemme sitten tietokannan ja palaamme HTML-moodiin tulostamaan loput kentät. Niiden avulla voimme lisätä uuden tuotteen ja hinnan. Vain kaksi kenttää tarvitaan ja annamme niille nimet name_add ja price_add. Kuva 11.3 esittää listauksen 11.6 tulostuksen. KUVA 11.3 HTML-lomake DBMtietokannan pohjalta. Nyt, kun olemme luoneet lomakkeen, meidän tulee kirjoittaa koodi, joka käsittelee käyttäjän antamat tiedot. Se ei ole niin vaikeaa kuin miltä se kuulostaa. Voimme tehdä kolme eri toimintoa. Ensiksi voimme tuhota kaikki kohteet tietokannasta; toiseksi voimme muuttaa tietokannan hintoja ja kolmanneksi voimme lisätä uusia alkioita tietokantaan. Jos lomake on lähetetty, tiedämme, mitkä kohteet tulee tuhota, koska $delete-taulukkomuuttuja on käytettävissä. Meidän tulee käydä tuo taulukko läpi ja tuhota taulukossa mainitut alkiot.

13 11. DBM-funktioiden käyttö 205 if ( isset ( $delete ) ) { while ( list ( $key, $val ) = each ( $delete ) ) { unset( $prices[$val]); dbmdelete( $dbh, $val ); } } Ensiksi testaamme, että $delete-muuttuja on asetettu. Jos käyttäjä on juuri tullut sivulle tai hän ei ole halunnut tuhota yhtään kohdetta, muuttujaa ei ole olemassa. Jos muuttuja on olemassa, voimme mennä eteenpäin ja käydä taulukon läpi. Kunkin taulukossa olevan merkkijonon kohdalla kutsutaan tällöin dbmdelete()-funktiota poistamaan vastaavan niminen kohde taulukosta. Olemme tekemisissä myös toisen taulukon kanssa: $price-taulukko sisältää kaikki tietokannan avain/arvo-parit, vaikkakin käyttäjä on voinut muuttaa joitakin arvoja. Jos emme poista alkioita, tuhoamme tietokannasta myös $price-taulukon. Seuraava koodilohko lisää ne takaisin tietokantaan. Tietokannan päivittäminen käyttäjän muutosten mukaiseksi voidaan tehdä kahdella eri tavalla. Voisimme päivittää ne alkiot, jotka käyttäjä on valinnut muutettaviksi. Voisimme tehdä niin, jos odottaisimme usean käyttäjän käyttävän skriptiä samaan aikaan. Tällä erää skriptimme on tarkoitettu vain yhden hallintahenkilön käyttöön, joten päädymme päivittämään tietokannan jokaisen alkion: if ( isset ( $prices ) ) { while ( list ( $key, $val ) = each ( $prices ) ) dbmreplace( $dbh, $key, $val ); } Testaamme $prices-taulukon olemassaolon. Sen tulisi sisältää uusi versio koko tietokannasta. Käymme taulukon läpi kutsumalla dbmreplace()-funktiota kunkin elementin kohdalla. Lopuksi tarkistamme, onko käyttäjä lähettänyt uuden tuotteen lisättäväksi tietokantaan: if (! empty( $name_add ) &&! empty( $price_add ) ) dbmreplace( $dbh, "$name_add", "$price_add" ); Sen sijaan, että testaisimme, onko $name ja $price asetettu, testaammekin, ovatko ne tyhjiä. Siinä on merkittävä ero. Kun käyttäjä lähettää lomakkeen, nämä muuttujat asetetaan aina. Ne voivat olla kuitenkin tyhjiä. Emme halua lisätä tyhjiä merkkijonoja tietokantaamme, joten suoritamme lisäämiskoodin vain silloin, kun kumpikaan muuttuja ei ole tyhjä:

14 DBM-funktioiden käyttö if (! empty( $name_add ) &&! empty( $price_add ) ) dbmreplace( $dbh, "$name_add", "$price_add" ); Käytämme dbminsert()-funktiota dbmreplace()-funktion sijaan, jotta emme vahingossa kirjoittaisi jo määritellyn alkion päälle. Listaus 11.7 sisältää koko koodin. Listaus 11.7 Tuotteen ylläpitokoodi kokonaisuudessaan 1: <?php 2: $dbh = dbmopen( "./data/products", "c" ) 3: or die("couldn't open test DBM"); 4: 5: if ( isset ( $delete ) ) 6: { 7: while ( list ( $key, $val ) = each ( $delete ) ) 8: { 9: unset( $prices[$val]); 10: dbmdelete( $dbh, $val ); 11: } 12: } 13: 14: if ( isset ( $prices ) ) 15: { 16: while ( list ( $key, $val ) = each ( $prices ) ) 17: dbmreplace( $dbh, $key, $val ); 18: } 19: 20: if (! empty( $name_add ) &&! empty( $price_add ) ) 21: dbminsert( $dbh, "$name_add", "$price_add" ); 22:?> 23: 24: <html> 25: <head>

15 11. DBM-funktioiden käyttö : <title>listing 11.7 The complete product maintenance code</title> 27: </head> 28: <body> 29: 30: <form action="<? print $PHP_SELF;?>" action="post"> 31: 32: <table border="1"> 33: <tr> 34: <td>delete</td> 35: <td>product</td> 36: <td>price</td> 37: </tr> 38: 39: <?php 40: $key = dbmfirstkey( $dbh ); 41: while ( $key!= "" ) 42: { 43: $price = dbmfetch( $dbh, $key ); 44: print "<tr><td><input type='checkbox' name=\"delete[]\" "; 45: print "value=\"$key\"></td>"; 46: print "<td>$key</td>"; 47: print "<td> <input type=\"text\" name=\"prices[$key]\" "; 48: print "value=\"$price\"> </td></tr>"; 49: $key = dbmnextkey( $dbh, $key ); 50: } 51: 52: dbmclose( $dbh ); 53:?> 54: 55: <tr> 56: <td> </td> 57: <td><input type="text" name="name_add"></td> 58: <td><input type="text" name="price_add"></td>

16 DBM-funktioiden käyttö 59: </tr> 60: 61: <tr> 62: <td colspan=3 align="right"> 63: <input type="submit" value="amend"> 64: </td> 65: </tr> 66: 67: </table> 68: </form> 69: 70: </body> 71: </html> Yhteenveto Tällä tunnilla opit käyttämään PHP:n tehokkaita DBM-funktioita tallentaaksesi ja ottaaksesi esille tietoa. Opit käyttämään dbmopen()-funktiota DBM-tunnisteen saamiseksi; tuota tunnistetta käytetään sitten muiden DBM-funktioiden toimesta. Sait nähdä, kuinka tietokantaan lisätään uutta tietoa dbminsert()-funktiolla ja kuinka tietoa muutetaan dbmreplace()-funktiolla tai tuhotaan dbmdelete()-funktiolla. Opit käyttämään myös dbmfetch()-funktiota tiedon esille ottamiseen. Luvussa olivat esillä myös serialize()- ja unserialize()-funktiot: niillä tallennetaan monimutkaisia tietorakenteita DBM-tietokantaan. Luvun lopussa työstimme esimerkkiä, jossa käytettiin useita uusia tekniikoita. K&V K Milloin minun tulisi käyttää DBM-tietokantaa SQL-tietokannan sijaan? V DBM-tietokanta on hyvä vaihtoehto silloin, kun haluat tallentaa pieniä tietomääriä suhteellisen yksinkertaista tietoa (yleensä nimi/arvo-pareja). Skriptit, jotka käyttävät DBM-tietokantaa, ovat siirrettäviä. Jos aiot tallentaa suuria tietomääriä tai useita kenttitä, harkitse SQL-tietokannan käyttämistä, esimerkiksi MySQL-tietokantaa. Työpaja Työpaja tarjoaa pikakysymyksiä, joiden avulla voit kerrata läpikäytyä materiaalia. Yritä ymmärtää vastaukset ennen kuin jatkat seuraavaan lukuun. Vastaukset annetaan liitteessä A.

17 11. DBM-funktioiden käyttö 209 Kysymyksiä 1. Millä funktiolla voisit avata DBM-tietokannan? 2. Millä funktiolla voisit lisätä tietueen DBM-tietokantaan? 3. Millä funktiolla voisit korvata tietueen DBM-tietokannassa? 4. Kuinka voisit päästä käsiksi tietueeseen nimen perusteella? 5. Kuinka voisit saada esille ensimmäisen alkion nimen (arvon sijaan)? 6. Kuinka saisit esille peräkkäisten elementtien nimet? 7. Kuinka tuhoaisit nimetyn alkion DBM-tietokannasta? Toiminta 1. Luo DBM-tietokanta, joka pitää kirjaa käyttäjien nimistä ja salasanoista. Luo skripti, joka sallii käyttäjien rekisteröidä nuo tunnisteet. Muista tarkistaa, onko mukana toistuvia arvoja. 2. Luo todennusskripti, joka tarkistaa käyttäjän nimen ja salasanan. Jos käyttäjän syöttö vastaa tietokannan tietoa, anna käyttäjälle erikoisviesti. Muutoin esitä kirjautumislomake käyttäjälle.

18 DBM-funktioiden käyttö

OPPITUNTI 16 Tiedon käsittely

OPPITUNTI 16 Tiedon käsittely 16. Tiedon käsittely 283 OPPITUNTI 16 Tiedon käsittely Tällä tunnilla käsittelemme tarkemmin tiedon testaamista ja muokkaamista. Tutkimme uudelleen tietotyyppejä. PHP käsittelee tietotyyppejä automaattisesti

Lisätiedot

OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla

OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla 20. Tilan tallentaminen istuntofunktiolla 353 OPPITUNTI 20 Tilan tallentaminen istuntofunktioilla Edellisellä tunnilla tutkimme tilan tallentamista evästeiden ja kyselymerkkijonojen avulla. PHP4 on kuitenkin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

OPPITUNTI 5 Ohjelman kulku

OPPITUNTI 5 Ohjelman kulku 5. Ohjelman kulku 67 OPPITUNTI 5 Ohjelman kulku Viime tunnilla luomamme skriptit olivat suoraviivaisia. Ohjelmalauseet suoritettiin aina samassa järjestyksessä, joten ohjelmissamme ei ollut lainkaan joustavuutta.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

8. Oliot 123. Kuinka luokkia luodaan ja olioita saadaan aikaan. Kuinka luodaan ja käsitellään ominaisuuksia ja metodeja

8. Oliot 123. Kuinka luokkia luodaan ja olioita saadaan aikaan. Kuinka luodaan ja käsitellään ominaisuuksia ja metodeja 8. Oliot 123 OPPITUNTI 8 Oliot Oliopohjainen ohjelmointi on vaarallista. Se muuttaa koodaamista koskevia ajatuksiasi ja kun uudet käsitteet ovat saaneet jalansijaa, ne eivät katoa mitenkään. PHP on Perlin

Lisätiedot

7. Taulukot 105. Kuinka taulukoiden tietoa käsitellään ja lajitellaan

7. Taulukot 105. Kuinka taulukoiden tietoa käsitellään ja lajitellaan 7. Taulukot 105 OPPITUNTI 7 Taulukot Taulukot ja niiden käsittelyyn liittyvät toiminnot laajentavat suuresti PHP4-skriptien käyttöaluetta ja joustavuutta. Kun tunnet taulukot, voit tallentaa niihin monimutkaisia

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

Lisätiedot

OPPITUNTI 3 Ensimmäinen skripti

OPPITUNTI 3 Ensimmäinen skripti 3. Ensimmäinen skripti 35 OPPITUNTI 3 Ensimmäinen skripti Kun olet asentanut PHP:n ja asettanut sen kokoonpanon, on aika laittaa ohjelmisto testaukseen. Tällä tunnilla luot ensimmäisen skriptisi ja tutkit

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

ICT1TN004. Lomakkeet. Heikki Hietala

ICT1TN004. Lomakkeet. Heikki Hietala Lomakkeet Heikki Hietala Lomakkeet Lomakkeita käytetään keräämään tietoa käyttäjältä ja siirtämään se palvelimelle Lomakkeen luominen ei yksin riitä, vaan pitää luoda myös lomakkeenkäsittelijä Lomakkeen

Lisätiedot

OPPITUNTI 12 MySQL-tietokannan käyttö

OPPITUNTI 12 MySQL-tietokannan käyttö 12. MySQL-tietokannankäyttö 211 OPPITUNTI 12 MySQL-tietokannan käyttö PHP-kieleen kuuluu olennaisesti tietokantojen käyttämisen helppous. Tällä tunnilla keskitymme MySQLtietokantaan, mutta samanlaisia

Lisätiedot

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja. laskutus_index http://media.stadia.fi/~0700527/laskutus/laskutus_index.html Sivu 1/1 13.12.2007 Laskutus -tietokanta Henkilöiden tiedot: Lisää uuden henkilön tiedot Muuta tai poista henkilön tiedot Selaa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

OPPITUNTI15 Päivämäärien käsittely

OPPITUNTI15 Päivämäärien käsittely 15. Päivämäärien käsittely 269 OPPITUNTI15 Päivämäärien käsittely Päivämäärät kuuluvat niin usein jokapäiväiseen elämään, että niiden käsittely on rutiininomaista. Kalenterin käsittely ei aina ole kuitenkaan

Lisätiedot

6. Funktiot 85. Kuinka funktioita määritellään ja kutsutaan. Kuinka funktioille viedään arvoja ja niistä palautetaan arvoja

6. Funktiot 85. Kuinka funktioita määritellään ja kutsutaan. Kuinka funktioille viedään arvoja ja niistä palautetaan arvoja 6. Funktiot 85 OPPITUNTI 6 Funktiot Funktiot ovat hyvin laaditun skriptin perusta. Ne tekevät koodista helppolukuista ja uudelleen käytettävää. Laajoja projekteja on mahdotonta hallita ilman funktioiden

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

Lisätiedot

Tee html-sivu, jossa on yllä olevat kaksi taulukkoa.

Tee html-sivu, jossa on yllä olevat kaksi taulukkoa. TAULUKKO 1 Taulukoiden avulla voidaan informaatio esittää havainnollisesti esimerkiksi palstoitettuna. Lisäksi voidaan sijoittaa eri elementit haluttuihin paikkoihin (taulukkotaitto). Taulukko luodaan

Lisätiedot

OPPITUNTI 21 Palvelinympäristö

OPPITUNTI 21 Palvelinympäristö 21. Palvelinympäristö 365 OPPITUNTI 21 Palvelinympäristö Edellisellä tunnilla tutkimme tekniikoita, joiden avulla voidaan kommunikoida etäkoneiden kanssa ja saada tietoa käyttäjiltä. Tällä tunnilla käsittelemme

Lisätiedot

OPPITUNTI 10 Tiedostojen käsittely

OPPITUNTI 10 Tiedostojen käsittely 10. Tiedostojen käsittely 173 OPPITUNTI 10 Tiedostojen käsittely Tiedostojen testaaminen, lukeminen ja kirjoittaminen ovat yleisiä toimenpiteitä käytännön ohjelmissa ja niitä vastaava tekniikka on mukana

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä. Pikaopas Microsoft Access 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Näyttökoon muuttaminen tai tietokannan sulkeminen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

OSA III PHP:n käyttö. Oppitunti

OSA III PHP:n käyttö. Oppitunti OSA III PHP:n käyttö Oppitunti 9. Lomakkeiden käsittely 10. Tiedostojen käsittely 11. DBM-funktioiden käyttö 12. MySQL-tietokantojen integrointi 13. Pintaa syvemmältä 14. Dynaamisten kuvien käsittely 15.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeet Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeen tyylit kannattaa määritellä omaan, eriliseen,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Palvelinpuolen ohjelmointi

Palvelinpuolen ohjelmointi Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset

Lisätiedot

SQL Buddy JAMK Labranet Wiki

SQL Buddy JAMK Labranet Wiki Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) HAAGA-HELIA ICT1TA006: Ohjelmointi 1 /5 Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) (Lähteet: Oracle java jdbc Tutorial, Arvo Lipitsäinen: Tietokannan käsittely JDBC:n

Lisätiedot

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN Tämän tehtävän tarkoitus on tutustuttaa ympäristöön sekä tutustuttaa wwwdokumenttien tekoon php:llä. Alkutoimet Varmistetaan, että verkkolevyllä on kansio

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Tietokanta Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia ja linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

OSA II Kieli. Oppitunti. 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot

OSA II Kieli. Oppitunti. 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot 43 OSA II Kieli Oppitunti 4. Rakennuslohkot 5. Ohjelman kulku 6. Funktiot 7. Taulukot 8. Oliot 4. Rakennuslohkot 45 OPPITUNTI 4 Rakennuslohkot Tällä tunnilla joudut paneutumaan itse ohjelmointikieleen.

Lisätiedot

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki PERL TIE-20306 Principles of Programming Languages Ryhmä 4: Joonas Lång & Jasmin Laitamäki 1. Johdanto Perl on ohjelmointikielten perhe, johon kuuluu Perl 5 ja Perl 6. Kielet ovat kuitenkin erilliset ohjelmointikielet

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,

Lisätiedot

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Tekstinkäsittelyn jatko KSAO Liiketalous 1

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Tekstinkäsittelyn jatko KSAO Liiketalous 1 KSAO Liiketalous 1 Yhdistäminen Yhdistämistoiminnolla voidaan tehdä esimerkiksi joukkokirjeitä, osoitetarroja, kirjekuoria, jne. Siinä yhdistetään kaksi tiedostoa: Pääasiakirja Tietolähde Pääasiakirjassa

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 18.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 18.3.2009 1 / 51 Olioista (kertausta) Olioiden avulla voidaan kuvata useammasta arvosta koostuvaa kokonaisuutta

Lisätiedot

Tekstinkäsittelyn jatko Error! Use the Home tab to apply Otsikko 1 to the text that you want to appear here. KSAO Liiketalous 1

Tekstinkäsittelyn jatko Error! Use the Home tab to apply Otsikko 1 to the text that you want to appear here. KSAO Liiketalous 1 KSAO Liiketalous 1 Lomakkeet Lomake on asiakirja, joka sisältää täyttämistä ohjaavia tietoja tai merkintöjä. Wordin lomakekenttä-toiminnolla luodaan näytöllä täytettäviä lomakkeita tai tulostettavia lomakepohjia.

Lisätiedot

OPPITUNTI 24 Esimerkki (Osa 2)

OPPITUNTI 24 Esimerkki (Osa 2) 24. Esimerkki (Osa 2) 429 OPPITUNTI 24 Esimerkki (Osa 2) Luvussa 23, "Esimerkki (Osa 1)" rakensimme ympäristön, joka sallii käyttäjien kirjoittautua palveluun ja lisätä kerho- ja tapahtumatiedot järjestelmään.

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Joukkokirje, osoitetarrat Työvälineohjelmistot 1(5)

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Joukkokirje, osoitetarrat Työvälineohjelmistot 1(5) Työvälineohjelmistot 1(5) Yhdistäminen Yhdistämistoiminnolla voidaan tehdä esimerkiksi joukkokirjeitä, osoitetarroja, kirjekuoria, jne. Siinä yhdistetään kaksi tiedostoa: Pääasiakirja Tietolähde Pääasiakirjassa

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

OpenOffice.org Base 3.1.0

OpenOffice.org Base 3.1.0 OpenOffice.org Base 3.1.0 Sisällysluettelo 1 Tietokannan luominen...1 2 Taulukon eli taulun luominen...3 3 Kysely...9 4 Raportti...14 1 Tietokannan luominen Tietokanta on kokoelma tietoja, joilla on yhteys

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma: Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7 ECDL Tietokannat Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7 Tavoite Tässä esitellään tutkintovaatimukset moduulille ECDL Tietokannat, joka määrittelee tarvittavat tiedot ja taidot näyttökokeen

Lisätiedot

Joomla pikaopas. Yksinkertainen opas, jossa neuvotaan esimerkkisivuston teko Joomla julkaisujärjestelmällä vaihe vaiheelta.

Joomla pikaopas. Yksinkertainen opas, jossa neuvotaan esimerkkisivuston teko Joomla julkaisujärjestelmällä vaihe vaiheelta. Joomla pikaopas Yksinkertainen opas, jossa neuvotaan esimerkkisivuston teko Joomla julkaisujärjestelmällä vaihe vaiheelta. Paavo Räisänen www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa

Lisätiedot

Hops-ohjaajan ohje Opiskelijan hopsit.

Hops-ohjaajan ohje Opiskelijan hopsit. Hops-ohjaajan ohje Tässä ohjeessa kuvataan kaksi erilaista tapaa hakea tietyn opiskelijan lähettämä hops. Ensin ohjeistetaan miten toimitaan, jos hopsin ryhmätyökalu on käytössä, eli ohjaajalle on luotu

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu JÄRJESTELMÄN KÄYTTÖOHJE LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001

Lisätiedot

Tietokannan luominen:

Tietokannan luominen: Moodle 2 Tietokanta: Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia, linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat,

Lisätiedot

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola 26.8.2016 SISÄLLYSLUETTELO 1. Omat asetukset kuntoon (kaikkien tehtävä aluksi) sivut 3-5 2. Tärkeiden sivujen tilaaminen omiin linkkeihin sivut

Lisätiedot

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014 19. syyskuuta 2014 IDL - INPUT/OUTPUT-rutiinit IDL pystyy lukemaan ja kirjoittamaan monentyyppisiä tiedostoja, esim. FORTRAN ja C-kielten ohjelmien tulostusta. Käytössä on myös monipuoliset tulostuksen

Lisätiedot

Taulukot. 1. Taulukon rakenne: ICT01D Elina Ulpovaara

Taulukot. 1. Taulukon rakenne: ICT01D Elina Ulpovaara Taulukot Taulukoita käytetään XHTML:ssä taulukkomuotoisen tiedon esittämiseen esim. tilastot, hinnastot jne sivun ulkoasun muotoiluun eli taittoon - voidaan korvata CSS:n asemointia käyttäen ICT01D 28.11.2005

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle (Ei yhtään videota tällä kertaa.) X niin kuin Cross-Platform, Apache, MySql, PHP, Perl Kehitysympäristö EI tuotantokäyttöön Monet tärkeät tietoturva-asetukset ovat oletuksena pois päältä Erittäin nopea

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne Kotisivuohjeet Tässä ohjeessa käydään läpi kotisivujen tekemisen perusteet keskittyen html-koodiin ja sen ominaisuuksiin. Sivupohjissa ulkoasu ja rakenne on pääasiassa jaettu erilliseen css-tyylitiedostoon,

Lisätiedot

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

Lisätiedot

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla 1 ENTITEETIT Tehtävä 1. Tietokoneet ja käyttöjärjestelmät käyttävät erilaisia merkkijärjestelmiä ja varsinkin Internetin alkutaipaleella aiheutti sen, että jotkut merkit eivät näkyneet kaikilla oikein.

Lisätiedot

LIITE A Vastaukset kysymyksiin

LIITE A Vastaukset kysymyksiin LIITE A Vastaukset kysymyksiin Liite A Vastaukset kysymyksiin 449 Tämä liite antaa vastaukset lukujen lopussa olleisiin kysymyksiin. 450 Liite A Vastaukset kysymyksiin TUNTI 1 1. Mistä kirjaimet PHP tulevat?

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Valintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja.

Valintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja. Pikaopas Microsoft Excel 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Komentojen lisääminen pikatyökaluriville Pidä

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Kun valitset Raportit, Lisää uusi, voit ryhtyä rakentamaan uutta raporttia alusta alkaen itse.

Kun valitset Raportit, Lisää uusi, voit ryhtyä rakentamaan uutta raporttia alusta alkaen itse. Sivu 1 / 7 22 UUDEN RAPORTIN LUOMINEN Kun valitset Raportit, Lisää uusi, voit ryhtyä rakentamaan uutta raporttia alusta alkaen itse. Tässä ohjeessa on kuvattu uuden haun tekemisen yleisempiä ominaisuuksia.

Lisätiedot

OPPITUNTI 14 Dynaamisten kuvien käsittely

OPPITUNTI 14 Dynaamisten kuvien käsittely 14. Dynaamisten kuvien käsittely 249 OPPITUNTI 14 Dynaamisten kuvien käsittely Tässä luvussa käsiteltävät funktiot liittyvät avoimeen lähdekirjastoon nimeltä GD. GD-kirjasto on joukko työkaluja, joiden

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

PHP:n alkeita ja taustaa. Markus Norrena

PHP:n alkeita ja taustaa. Markus Norrena PHP:n alkeita ja taustaa Markus Norrena PHP on ohjelmointikieli joka toimii yhteistyössä html:n kanssa PHP suoritetaan palvelimella Toisin kuin esim. JavaScript joka suoritetaan selaimessa Tästä syystä

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan soveltamista List-luokan metodeja Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan metodeja List-luokan

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Sähköpostitilin käyttöönotto

Sähköpostitilin käyttöönotto Sähköpostitilin käyttöönotto Versio 1.0 Jarno Parkkinen jarno@atflow.fi Sivu 1 / 16 1 Johdanto... 2 2 Thunderbird ohjelman lataus ja asennus... 3 3 Sähköpostitilin lisääminen ja käyttöönotto... 4 3.2 Tietojen

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python 15. helmikuuta 2009 Merkkijonot Yleistä Käsittely Muotoiltu tulostus Tiedostot Käsittely Lukeminen Kirjoittaminen Modulit Käyttö Seuraava luento

Lisätiedot

RADAR - RANDOM DATA GENERATOR

RADAR - RANDOM DATA GENERATOR YLEISKUVAUS Radar on sovellus, jolla voi luoda näennäisen oikeaa satunnaisdataa testaus-, demo - ja muihin tarkoituksiin. TIEDUSTELUT Juha Levonen 050 372 5797 juha.levonen@kantapeikko.fi Osa datasta generoidaan

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Luento 4: Symbolit, derivojaesimerkki, kierroksen 1 ratkaisut (mm. SICP 2.32.3.2) Riku Saikkonen 1. 11. 2011 Sisältö 1 Symbolit ja sulkulausekkeet 2 Lisää Schemestä:

Lisätiedot

OSA I Aloitetaan. Oppitunti. 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi. 17 Johdanto

OSA I Aloitetaan. Oppitunti. 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi. 17 Johdanto 17 Johdanto OSA I Aloitetaan Oppitunti 1. PHP: Kotisivusta portaaliin 2. PHP:n asentaminen 3. Ensimmäinen skriptisi 18 1. Kotisivusta Portaaliin 19 OPPITUNTI 1 PHP: Kotisivusta portaaliin Tervetuloa PHP-maailmaan!

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE. KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi

Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE. KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi 2015 Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi 1 Sisällysluettelo 1. Sivustolle rekisteröityminen... 2 2. Yrityksen lisääminen... 3 2.1. Yritystiedot...

Lisätiedot

Ohjeistus yhdistysten internetpäivittäjille

Ohjeistus yhdistysten internetpäivittäjille Ohjeistus yhdistysten internetpäivittäjille Oman yhdistyksen tietojen päivittäminen www.krell.fi-sivuille Huom! Tarvitset päivittämistä varten tunnukset, jotka saat ottamalla yhteyden Kristillisen Eläkeliiton

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

Lisätiedot

valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda

valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda Valitsimista valitsin on useimmiten html-elementti, jolle tyyli halutaan luoda Muistin virkistykseksi elementtejä http://appro.mit.jyu.fi/doc/www/xhtml/ HTML-elementtien lisäksi valitsimille voidaan luoda

Lisätiedot