Övningen
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)
- Troligen har du redan gjort en del grundövningar tidigare dvs
övning 48:1,2,3 och då har du kanske redan hämtat filen
kap48.zip nedan. Kanske har du bara hämtat fil grund.zip innan.
I sådana fall måste du nu komplettera genom att hämta
filen nedan som innehåller hela mappen kap48.
Den här övningen är fristående från grundövnigarna.
Tänk på att om du lägger in filerna från den zippade
filen nedan i en tidigare mapp kap48 som du har arbetat med tidigare
i grundövningarna som också innehåller mappen grund
med grundövningarna så kanske du tar bort de ändringar
du har gjort i mappen grund när du lägger in den nya mappen.
Du kan i sådana fall välja att inte byta ut dina gamla filer
mot de nya.
- Skapa en mapp php på på enheten H (eller
C om du har din egen dator och inte är kopplad till ett nätverk).
- Hämta en zippad fil med filer som du skall använda. Filen
ligger i en mapp på webbadressen:
http://www.edu.jonkoping.se/it/ped/gy/uppsok/kap48/kap48.zip
Zippa upp filen och lägg mappen kap48 i mappen
php.
- Gå till webbadressen http://193.183.192.8/phpMyAdmin/.
Logga in med ditt login och ditt lösenord. Välj nu svenska
som språk. Därefter skall du importera en tabell till din
databas. Klicka därför på din databas ( dvs db_anvxxx
där anvxxx är utbytt mot din databas. Notera vad din databas
har för namn.) så att du kan se information om databasen.
Under texten Kör SQL-fråga/frågor i din databas db_anvxxx
finner du texten Eller Textfilens plats : Bläddra
där fram till filen skolpersonal1.sql i mappen data
i mappen kap48 som du nyss hämtade. Klicka sedan
på Kör. Nu importeras en strukturen för en tabell vid
namn skolpersonal1.
- Du har emellertid ännu inget innehåll i din tabell. Klicka
därför längst upp till vänster på tabellen
skolpersonal1 så att du får fram informationen om tabellen.
Gå nu ner lite på sidan och klicka på länken
"Importera textfil till tabellen". Bläddra sedan fram
filen personal1.skv som också finns i mappen data. Den är
en semikolon separerad fil så du behöver inte ändra
på några inställningar. Klicka på Kör. Därefter
klickar du på Visa så att du kan se att du har fått
ett innehåll.
- Kort information: Med hjälp av programmet phpMyAdmin så
kan man exporera från en databas till en fil. När man exporterar
till en sql-fil så får man alltid med strukturen till tabellen
men man kan också välja så att också data dvs
innehållet i tabellen ingår i filen. Man kan också
exportera till en csv-fil som man sedan kan öppna i Excel. Om man
från Excel vill importera till en databas så sparar man
först filen som en skv-fil. En sql-fil som innehåller bara
struktur eller struktur och data för en tabell kan man importera
i en annan databas.
- 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 Kapitel 48 och spara exportfilen
i huvudmappen php.
- Det är i PHP mycket enkelt att någonstans i en fil lägga
in innehållet i en annan fil. Funktionen include()
används till detta och likaså funktionen require().
Läs gärna mer om dessa funktioner i manualen.
Eftersom ovannnämnda två funktioner måste ingå
i en fil när man ämnar göra en databasuppkoppling så
har jag lagt dessa funktioner på två rader in en särkild
fil vid namn connect.php. De 4 viktiga data som behövs
för att en databaskoppling ska kunna ske har här angetts
med variabler.
Istället för att du direkt i den här filen fyller i
ditt login och ditt lösenord mm skall du fylla i dessa uppgifter
i ytterligare en fil som finnns i filen connect.php.
Det är filen config.php. Dina 4 data anges i
config.php som dessa variablers värden.
-
Du ska nu öppna filen config.php och där
skriva in login, password och databasnamn.
Som server finns redan angivet localhost
viket man skriver när MySQL är installerat på samma
dator som webbserverprogrammet. Så är det också när
det gäller Per Brahegymnasiets övningsserver.
Om du använder PB:s övningsserver så är
ditt usernamn/login anvxxx där du byter ut xxx
mot något som du får av läraren.
Databasnamnet är väldigt likt ditt username. Databasnamnet
är db_anvxxx (där xxx byts ut mot samma
tecken som ovan när det gäller användarnamnet).
Ditt lösenord får du av din lärare.
Man skulle kunna läggga in ytterligare variabler i filen config.php.
Så är det också ofta när man hämtar olika
färdiga paket på nätet. Nu finns det endast en ytterligare
variabel som det är möjligt att använda sig av nämligen
möjligheten att skriva tabellens namn om man använder bara
en tabell och då skriver man $table istället
för tabellnamnet i respektive fil men du skall inte använda
dig av detta eftersom du kommer att arbeta med olika tabeller.
- Koden i filen connect.php
<?
include("config.php");
$db = mysql_connect("$server", "$username",
"$password");
mysql_select_db("$database", $db);
?>
- Koden i filen config.php
<?
$server = "localhost";
$username = "anvxxx";
$password = "??????????";
$database = "db_anvxxx";
$table = "table";
?>
- Låt alltså mappen 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 därefter att fil 18 fungerar genom att gå till
Internet på adressen: http://193.183.192.8/user/anvxxx/kap48/
där anvxxx byts ut
mot ditt login som du har fått av din lärare.
- 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 allt fungerar genom att gå till Internet
på adressen: http://193.183.192.8/user/anvxxx/kap48/
- Du kommer först till en index-fil som länkar vidare. Jag
räknar med att du redan har gjort de inledande övningar som
den översta länken går till. Den mapp som vi först
ska arbeta med är mappen skolpersonalen och i
den finns 2 viktiga mappar. Om du klickar på länk 1 kommer
du till mappen search. I den finns filer för besökare
på Internet. Länk 2 går till i mappen edit.
I den finns filer för personalen på
skolan. Mappen edit måste man i verkligheten
lösenordsskydda så att bara vissa personer har tillgång
till den om man inte vill att vem som helst ska kunna ändra i uppgifterna.
- Testa nu först alla länkarna under länk 1 och 2 som
gäller skolpersonalen. Titta på hela personalen, på
den administrativa personalen (där finns nu inga bilder på
personer utan istället bilder från Jönköping),
på olika sätt på båda söksidorna, titta
på den ev extra information som finns på en särskild
sida, lägg till en person, ändra på en persons uppgifter,
ta bort en person.
- Försök lägga till en person där också en
bild ingår. Ta en person som inte presenteras bland den administrativa
personalen. För att se bilden måste man då gå
till sidan som erbjuder extra information om en person.
- Varför presenteras vissa av personerna som personer i den administrativa
personalen och varför presenteras de i den här ordningen?
- Gör en fulltextsökning på "son" på
söksida 2 och begär sorteringsordning efter programarbetslag.
Blir sorteringen rätt? Varför inte?
- Nästan osynligt så finns det mellanslag i början när
det gäller en del av uppgifterna om programarbetslag. Öppna
Excelfilen med ditt ursprungsmaterial. Kolla i kolumnen för arbetslag.
Ta bort mellanslagen. Spara som en skv-fil. Gå in phpMyAdmin och
töm tabellen. Gå sedan in och importera den ändrade
skv-filen. Testa sedan med en likadan sökning igen som i uppgift
14. Nu ska det bli rätt.
- Om man låter olika personer lägga in uppgifter så
vet man aldrig när onödiga mellanslag läggs in som gör
sökningar felaktiga. För att undvika detta kan man göra
en liten ändring i koden på sidan som används för
att uppdatera i databasen så att ev mellanslag som användaren
gör vänster om ordet tas bort innan tabellen/databasen uppdateras.
- På sidan skolanaddedit.php lägger du nu in följande
kod på två ställen:
$program=ltrim($program);
Om man vill att mellanslagen tas bort både till vänster
och till höger så kan man istället skriva: $program=trim($program);
- Ev så vill man läggain den här koden gällande
inte bara pogramarbetslag utan även för en del andra kolumner.
Här är ett exempel för tre av kolumnerna:
$program=ltrim($program);
$Efternamn=ltrim($Efternamn);
$Ämnen_el_Titel=ltrim($Ämnen_el_Titel);
- Ändra alltså så att koden ovan hamnar enligt nedan
if($submit)
{
$db = mysql_connect...;
mysql_select_db...;
$program=ltrim($program);
$sql = "INSERT INTO skolpersonal1
- Ändra också så att koden $program=ltrim($program);
hamnar enligt nedan
if($update)
{
$db = mysql_connect...;
mysql_select_db...;
$program=ltrim($program);
$sql = "UPDATE skolpersonal1 SET
- När du nu är i phpmyAdmin så testar du med att ändra
på uppgifterna där för en person. Testa sedan att försiktigt
ändra lite när det gäller kolumnerna Fält och Typ
för tabellen. Läs först i dokumentationen på adressen:
http://www.mysql.com/doc/en/Column_types.html
Ändra sedan när det gäller Typ om du finner något
som är bättre eller lika bra som det som gäller nu.
- Testa att ändra lite i PHP-filen skolanview.php. Försök
ändra sorteringsordning. Nu är det "ORDER BY Efternamn
ASC" som gäller dvs sorteringen sker efter efternamn och stigande.
Ändra t ex till att sorteringen sker efter "Ämnen_el_Titel".
Om du är osäker så sök i dokumentationen på
adressen:
http://www.mysql.com/doc/en/
- När det gäller filen skolanadmview.php så är
sorteringsordnigen lite mer komplicerad: "SELECT * FROM skolpersonal1
WHERE Rankadm>=1 AND Rankadm<=12 ORDER BY Rankadm ASC"
För att rätt person ska komma överst så har varje
person fått ett rankingtal som anger platsen vid sorteringen.
Testa med att lägga till några ordningstal i tabellen och
att sedan ändra i php-filen så att dessa personer kommer
med.
- Testa ytterligare lite en stund. Fundera på hur du skulle kunna
göra om allt så att det bättre passar för en databas
för din klass om du är elev eller någon annan grupp
som du tillhör. Gå varsamt framåt. Byt t ex namn på
ett fält. Gör först några små ändringar
och undersök att de fungerar på nätet. Lägg allltså
in någon de av dig beslutade ändringarna i tabellen när
det gäller Fält och Typ. Försök sedan göra
motsvarande ändringar i php-filerna. En del av det viktigaste arbetet
måste göras i kodläge.
- Du skulle kunna tömma tabellen och fylla den med riktiga uppgifter
men med tanke på PUL så måste du vara försiktig
med riktiga personuppgifter på nätet. Du behåller alltså
låtsasuppgifterna. Om de inte passar in alls så tömmer
du tabellen. Sedan sparar du om Excelfilen med ett nytt namn. och däreftr
gör du en rejäl ändring med andra låtsasuppgifter
som passar för dina ändringar.
- När det gäller mappen nyheter så behöver du skapa
en tabell. Skapa en tabell i din databas med hjälp av filen nyheter.sql
i mappen data.
- Mappen nyheter innehåller sidor som man kan använda om
man vill publicera regelbundna nyheter gällande skolan. Den webbansvarige
behöver ej vara inblandad själv vid publiceringen. Man lösenordsskyddar
helt enkelt mappen edit och någon på expeditionen kan sköta
publiceringen. Den här typen av information kan ibland vara sådan
att man inte vill att alla skall komma åt den. Då kan man
lösenordsskydda också mappen search och ge lösenordet
till valda grupper. Testa länk 3 och 4 på indexsidan och
om allt fungerar när det gäller de här sidorna.
- Lägg in några nyheter. Enbart de 7 första publiceras
för besökare. Kontrollera om det är så.
- Din uppgift blir att gå in och manipulera och ändra så
att sidorna och databasen passar för något som du finner
intressant.
- När det gäller mappen kurs så behöver
du skapa en tabell med data. Skapa en tabell i din databas med hjälp
av filen kurs.sql i mappen data.
- Länk5 på ingångssida går till mappen kurs som
erbjuder enbart två filer. Det här är ett exempel på
hur man kan göra för att summera tal i några kolumner
och hur man kan göra om man vill att det som presenteras på
en sida ska bero på en uträkning. Att det här råkade
bli en kurs var bara en tillfälllighet. Man kan säkert använda
modellen till något helt annat.Testa att ändra en del. Försök
sedan att ändra till något som passar dig.
- Använd dig också av de tidigare exemplen för att göra
de här uppgifterna sökbara.
- När det gäller mappen enkat så behöver
du skapa en tabell med data. Skapa en tabell med data i din databas
med hjälp av filen enkat.sql i mappen data.
- I mappen enkat finns en enkät där elever tycker om olika
ämnen - Eleven kan ändra i sina svar - Det totala tyckandet
om ett ämne presenteras i ett stapeldiagram.
- Testa först att diagrammet ändras om du lägger in en
ny enkät och om du ändrar i de tidigare enkäterna.
- Undersök hur det fungerar. Försök att ändra. Försök
sedan hitta och hämta det franska scriptet: phPGraph hos Hotscript.
- Gör en egen enkät och presentera den sedan med hjälp
av stapeldiagram.
|