Les 12 : database koppeling, opmaken van template, webstructuur

Les 12 : database koppeling, opmaken van template, webstructuur en afdrukken van gegevens. (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken indien nodig. De structuur van een website. Er bestaat geen vaste regels of conventies (geheel van afspraken) die bepalen hoe je een structuur moet opbouwen om je bestanden op een overzichtelijke manier bij het ontwikkelen van een website. In het vorige jaar heb je waarschijnlijk gewerkt met een structuur als onderstaand voorbeeld. Een basis structuur opgebouwd vanuit een ROOT folder. Deze root folder bevat de file index.html en hierin plaats je respectievelijk de nodige subfolders. •
Html •
Images •
CSS •
Js Elk van deze folders bevatten telkens de •
Gebruikte html pagina’s •
Je afbeeldingen •
Css files •
Eventueel gebruikte javascripts Deze structuur is correct en uiterst geschikt voor een standaard statische html website. Wij gaan echter deze structuur ook gebruiken maar we gaan deze wat verder uitbreiden. De structuur voor onze klassikale oefening zal er uitzien als volgt: Oef_module is de ROOT. Deze bevat vervolgens: •
Enkele php pagina’s, dit is enkel voor de oefening, in de praktijk plaatsen we hier enkel de index.php file. •
Inc: een folder met include files, we maken een navigatie in een externe file, enkel deze file moeten we aanpassen en de navigatie is aangepast over onze gehele website. •
Functions: we gebruiken bepaalde functionaliteiten doorheen de hele website, deze gaan we in een afzonderlijke file plaatsen, eens aangepast zijn de functionaliteiten aangepast in de gehele website. •
Css •
Images •
Admin o Css o Images o Inc o pages De admin directory bevat alle files voor het cms onderdeel of de back end van deze oefening. Hier hanteren we weer eenzelfde structuur, opgebouwd in een subdirectory. Template voor de oefening. Koppeling met de database. Wanneer we werken met een database moeten we eerst er voor zorgen dat de database gekoppeld wordt met de pagina die we gebruiken voor het tonen van de gegevens. Wanneer we een database gebruiken op een pagina moeten we deze altijd openen en sluiten wanneer we geen informatie meer nodig hebben. Vermits we deze handelingen praktisch op elke pagina moeten uitvoeren gaan we hiervoor 2 functies gebruiken. We schrijven een functie voor het openen van de database en een functie voor het sluiten van de database. Telkens we deze nodig hebben roepen we de functie op. We gaan deze functies schrijven op een afzonderlijke file die we hiervoor gebruiken, namelijk functions.php. We maken gebruik van de “require_once” in php en zorgen ervoor dat we op deze manier deze functies steeds kunnen gebruiken waar nodig. De functies. Selecteren van de database zodat we deze kunnen gebruiken. function dbConn(){
$db_name
$db_user
$db_host
$paswd =
= "cursisten";
= "root";
= "localhost";
"";
//connectie met db opzetten
mysql_connect($db_host, $db_user, $paswd)or die("failure to
communicate with db");
//selecteren van db
mysql_select_db($db_name);
}
dbConn is de naam van de functie die we gaan gebruiken. We declareren 4 variabelen die nodig zijn. 1. Naam van de database 2. User van de database (99% root gebruikt binnen Linux omgeving) 3. Host (99% localhost gebruikt binnen de Linux omgeving) 4. Paswd (paswoord) mysql_connect: voorgedefinieerde functie in php voor het connecteren
met de database. Nodige parameters zijn, de host, user en paswoord. Die: deze functie zorgt ervoor dat de connectie automatisch
afgesloten wordt wanneer we niet de correcte parameters voor de
connectie gebruiken. mysql_select_db: functie gebruikt voor het selecteren van de
gewenste database. Functie voor het sluiten van de database connectie. function closeDbConn()
{
$db_user = "root";
$db_host = "localhost";
$paswd = "";
//connectie sluite
n$link = mysql_connect($db_host, $db_user, $paswd);
mysql_close($link);
}
mysql_close: functie voor het sluiten van de database connectie
Opbouwen van een overzicht pagina. Een overzicht pagina wordt vaak gebruikt bij dynamische websites. In deze oefening gaan we een pagina opmaken die een overzicht geeft van de berichten. Een titel en een korte omschrijving wordt weergegeven. Bij elk bericht plaatsen we een “lees meer” link om het gehele artikel te tonen op een pagina. Bij het aanmaken van zo een pagina zijn er enkele stappen die we steeds in dezelfde volgorde moeten uitvoeren, dit is trouwens voor elke php pagina. Stappen zijn: Eerst halen we alle nodige pagina’s binnen met functionaliteiten die we nodig hebben, dit doen we met de ”require_once”. Deze plaatsen we helemaal bovenaan in de code. In onze oefening gebruiken we enkel de file met de functions. De andere routines en stappen werken we uit op de pagina zelf. Overzicht van onze stappen. Een code voorbeeld. 1. Het openen en selecteren van de database, dit doen we met de functie dbConn() 2. Het selecteren van de nodige gegevens. Hier selecteren we alles van de tabel berichten. Dit doen we met de functie “mysql_query”. Deze zorgt ervoor dat onze sql query uitgevoerd zal worden in de database. Alle gegevens worden bijgehouden in een Array. 3. De while lus. Deze gebruiken we voor het afdrukken van alle geselecteerde gegevens op de pagina. De functie “mysql_fetch_array” zorgt ervoor dat we alle gegevens, in de array kunnen gaan afdrukken op de pagina. Vermits we hier meerdere gegevens hebben moeten we gebruik maken van een lus om deze allemaal af te drukken op de pagina. 4. Na het afdrukken van de gegevens moeten we weer de database sluiten, dit met de functie “closeDbConn()”. Herhaal steeds deze stappen voor het tonen van gegevens. 1. Connectie maken met de database 2. Query aanmaken en uitvoeren om gegevens te behandelen 3. Het tonen van de gegevens, dmv gebruik te maken van een lus 4. Sluiten van de database. Oefeningen. Maak deze oefening volledig na, zodat alles stappen duidelijk zijn. Maak een nieuwe template hiervoor. Maak een uitbreiding van de webstructuur.