My CRUD functions. Hieronder ziet u een overzicht van de bestandenlijst en functies die we gemaakt hebben en gaan gebruiken.
|
|
- Lander Gustaaf Devos
- 2 jaren geleden
- Aantal bezoeken:
Transcriptie
1 My CRUD functions Snel een tabel aanmaken en enkele formulieren hiervoor maken kan een tijdrovende bezigheid zijn. Gelukkig kunnen enkele functies ons het leven gemakkelijk maken. Telkens wij een tabel in een databank aanmaken wensen wij dezelfde functionaliteiten: Gegevens toevoegen = Create Gegevens lezen = Read Gegevens aanpassen = Update Gegevens verwijderen = Delete Deze functies noemen we kortweg CRUD. Voor het maken van PHP pagina's die automatisch enkele pagina's voor CRUD maken zijn er genoeg websites te vinden (bvb.:http://www.phpscaffold.com/). Toch zorgt dit in mijn ogen niet voor een pasklaar resultaat. Meestal mis ik hier: Validatie van de formulieren Relaties tussen tabellen De gegevenstypen ENUM() en SET() Kalender voor data te kiezen bij gegevenstype DATE Daarom wil ik u zelf aan de slag laten gaan om uw eigen CRUD functies te maken in PHP, dit voor het benaderen van een MySQL databank. Voor het valideren van het formulier heb ik in de functies gebruik gemaakt van Jquery (http://jquery.com/). Het toevoegen van een kalender aan het gegevenstype DATE was mogelijk met Jquery UI (http://jqueryui.com/). Het toevoegen van relaties tussen tabellen doen we normaal gezien via foreign keys in de engine InnoDB. Maar vele online hosting providers bieden geen InnoDB aan maar enkel MyISAM. Het opzoeken van de relatie gaan we daarom expliciet in de opmerking van het veld noteren. Hierdoor kan het script de relaties verwerken. (Een oplossing voor het ontbreken van ON UPDATE of ON DELETE CASCADE in MyISAM is hier niet voorzien maar via deze functies snel toe te voegen.) Hieronder ziet u een overzicht van de bestandenlijst en functies die we gemaakt hebben en gaan gebruiken. CRUD 1 Bert Van den Abbeele
2 Laten we starten met een index pagina te maken die ons naar de twee belangrijkste php pagina's zal brengen. De createupdate.php wordt zowel gebruikt voor het aanmaken van een nieuw record als voor het updaten. Indien geen id meegegeven (createupdate.php? id=1) dan zal een nieuw record toegevoegd worden. index.php <html> <head> <link type="text/css" href="css/site.css" rel="stylesheet" /> </head> <body> <h1>crud</h1><br/> <a href="createupdate.php" target="_self">create</a><br/> <a href="read.php" target="_self">read Update Delete</a><br/> </body> </html> Eerst moeten we enkele variabelen aanmaken die de databankverbinding mogelijk maken. We starten met een nieuwe instantie van de mysql functies aan te maken en de connectievariabelen juist te zetten. Vervolgens kiezen we de tabel en maken we een array van de velden uit de weer te geven tabel. De array is opgebouwd als alias van het veld => veldnaam in MySQL. Optioneel kan u een WHERE, LIMIT of ORDER meegeven aan de SQL query. MySQLconnections.php <?php // Class MySQLfunctions $MyFunc= new MySQLfunctions; // Calling the MySQLconnect function $host="localhost"; $user="gebruiker"; $pass="paswoord"; $db="mydb"; $MyFunc->MySQLconnect($host,$user,$pass,$db); //Selecting the table $tabel="personeel"; //Array of alias and field $fields= array("voornaam" => "voornaam", "Naam" => "naam", "Opmerkingen" => "opmerkingen","dienst" => "dienst", "Functies" => "functies", "Geboortedatum" => "geboortedatum"); //The Key? $pri_key="id"; //SELECT WHERE? $where = ""; //ORDER BY? $order = null; //LIMIT? $limit = 7;?> CRUD 2 Bert Van den Abbeele
3 De functie MySQLtable() maakt een HTM tabel van onze databank query. We kunnen enkele parameters meegeven: $db = de databank (verplicht) $tabel = de tabel (verplicht) $fields = array van alias en velden (verplicht) $pri_key = de primaire sleutel (verplicht) $add_edit = boolean (true/false) voor het toevoegen van de knop aanpassen $add_delete = boolean (true/false) voor het toevoegen van de knop delete Optioneel kan je ook nog een $where, $order of $limit toevoegen aan de sql query. read.php <html> <body> <link type="text/css" href="css/site.css" rel="stylesheet" /> <link type="text/css" href="css/tabel.css" rel="stylesheet" /> <script type="text/javascript" src="js/jquery min.js"></script> <script type="text/javascript" src="js/jquery.validate.min.js"></script> <script type="text/javascript" src="js/jquery.validate.messages_nl.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#MySQLtable tr").mouseover( function(){ $(this).addclass("over"); ); $("#MySQLtable tr").mouseout( function(){ $(this).removeclass("over"); ); $("#MySQLtable tr:even").addclass("alt"); $("#MySQLnew").validate({ submithandler: function(form) { form.submit(); ); ); </script> <h1>overview records<h1> <?php include_once("mysqlfunctions.php"); include_once("mysqlconnection.php"); // Calling the MySQLtable function $MyFunc->MySQLtable($db,$tabel,$fields,$pri_key,true,true,$where,$order, $limit); CRUD 3 Bert Van den Abbeele
4 //Calling the MySQLsisconnect function $MyFunc->MySQLdisconnect(); echo "<br/><br/><a href=\"./\" target=\"_self\">ga terug...</a>";?> </body> </html> We vergelijken de weergave met de eigenlijke databank waarden. Merk op dat dienst en functies hier een id nummer heeft in plaats van de eigenlijke dienstnaam of functienaam. Het script gaat zelf op zoek naar de relaties indien deze in de opmerking van het tabelontwerp is meegegeven. Hieronder ziet u de databankontwerpen: CRUD 4 Bert Van den Abbeele
5 Het is belangrijk tijd te nemen voor het tabelontwerp, alle functionaliteit komt van dit ontwerp en zo hoort het ook! Hieronder maken we een opsomming van de mogelijkheden alvorens verder te gaan naar het formulier. 1 Verplichte velden Indien de optie NOT NULL aanwezig is zal het formulier dit valideren en indien leeg de gebruiker een melding geven. 2 Datum selecteren Indien het gegevenstype DATE meegegeven wordt zal een kalender in het formulier aanwezig zijn. 3 Textveld of tekstregel Indien het gegevenstype TEXT meegegeven wordt zal er een textveld (textarea) voorzien worden. Bij een VARCHAR(aantal) zal een textregel (textfield) voorzien worden, het aantal tekens wordt tevens gevalideerd door het formulier. Er zijn twee uitzonderingen op deze regel: 1 Indien in de opmerking van een TEXT een SELECT query terug te vinden is gaat het script ervan uit dat de gegevens uit de query geladen moeten worden. Deze worden omgezet naar een SET. Dit wil zeggen dat meerdere waarden te selecteren zijn. 2 Indien in de opmerking van een VARCHAR() een SELECT query terug te vinden is gaat het script ervan uit dat de gegevens uit de query geladen moeten worden. Deze worden omgezet naar een ENUM. Dit wil zeggen dat u een keuzelijst krijgt waaruit u één waarde kan selecteren. Voor beide uitzonderingen zal het script de id's toevoegen indien de query dit voorziet (SELECT id, naam FROM tabel). Indien de query enkel één veld (SELECT naam FROM tabel) gaat toevoegen dan wordt de waarde ingevoegd en geen verwijzing. 4 Keuzelijsten en meerkeuzevakjes Indien het gegevenstype ENUM('optie1','optie2',...) meegegeven wordt zal er een keuzelijst met opties in het formulier weergegeven worden. Indien het gegevenstype SET('optie1','optie2',...) meegegeven wordt zullen er selectievakjes met de opties in het formulier weergegeven worden. Wanneer meerdere waarden ingevoerd moeten worden dan zal deze array van waarden CRUD 5 Bert Van den Abbeele
6 omgezet worden naar een string waarin de waarden gescheiden worden door komma's. Deze keuze is gemaakt voor de leesbaarheid van de tabellen te verhogen. Eventueel kan gekozen worden voor serialization in plaats van het imploden en exploden van de array door komma's. Tot zover hoe het databankontwerp de formulieren zal beïnvloeden. Hieronder kan u het resultaat bekijken. Het formulier wordt opgebouwd door de functie MySQLform(). Deze heeft als parameters de databank, tabel, array van velden en primaire sleutel. Indien een id wordt meegegeven zullen de waarden geladen worden en aangepast bij verzenden. Het is ook mogelijk exceptions toe te voegen aan bovenstaande regels. Misschien wenst u helemaal niet dat het VARCHAR(10) veld paswoord aan te passen is. Daarom kan een array van exeptions meegegeven worden, bijvoorbeeld: $exceptions["paswoord"] = "<input type=\"text\" id=\"paswoord\" text=\"paswoord\" value=\"niet aan te passen\" readonly></input>"; createupdate.php <html> <head> <link type="text/css" href="css/site.css" rel="stylesheet" /> <link type="text/css" href="css/table.css" rel="stylesheet" /> <link type="text/css" href="css/smoothness/jquery-ui custom.css" rel="stylesheet" /> <script type="text/javascript" src="js/jquery min.js"></script> CRUD 6 Bert Van den Abbeele
7 <script type="text/javascript" src="js/jquery.validate.min.js"></script> <script type="text/javascript" src="js/jquery.validate.messages_nl.js"></script> <script type="text/javascript" src="js/jquery-ui custom.min.js"></script> <script type="text/javascript"> $(function() { $('input').filter('.datepicker').datepicker({ dateformat: 'yy-mm-dd', daynamesmin: ['Zo', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za'], firstday: 1, monthnames: ['januari','februari','maart','april','mei','juni','juli','august','september', 'oktober','november','december'] ); ); $(document).ready(function(){ $("#MySQLform").validate({ submithandler: function(form) { form.submit(); ); ); </script> </head> <body> <?php include_once("mysqlfunctions.php"); include_once("mysqlconnection.php"); // Welke record? $id=$_get["id"]; // Update or Create? if ($id!="") { echo "<h1>update record<h1>"; echo "<h1>create record<h1>"; // Voor sommige velden wens je misschien een specifieke waarde mee te geven... // Je kan op deze manier ook nog hidden velden gaan toevoegen... //$exceptions[] = "Paswoord"; //$exceptions["paswoord"] = "<input type=\"text\" id=\"paswoord\" text=\"paswoord\" value=\"niet aan te passen\" readonly></input>"; // Calling the MySQLedittable function $MyFunc->MySQLform($tabel,$fields,$pri_key,$id,$db,$exceptions); CRUD 7 Bert Van den Abbeele
8 //Calling the MySQLsisconnect function $MyFunc->MySQLdisconnect(); echo "<a href=\"./\" target=\"_self\">ga terug...</a>";?> </body> </html> Het formulier stuurt zijn waarden door naar replace.php waarde functie MySQLreplace() de INSERT of UPDATE gaat uitvoeren. Deze array van waarden kan aangepast worden. Misschien wenst u een vaste waarde toe te voegen aan uw tabel, bijvoorbeeld: $waarden["autowaarde"]="waarden toevoegen aan array van formulier door ". $waarden["leerkracht"]; replace.php <html> <head> <link type="text/css" href="css/site.css" rel="stylesheet" /> </head> <body> <h1>create or Updrate the database via u replace statement.<h1> <?php include_once("mysqlfunctions.php"); include_once("mysqlconnection.php"); // Welke waarden? $waarden=$_post; // Wil je zelf nog waarden toevoegen, eventueel op basis van andere velden dan kan dit hieronder // Je past de array waarden aan met jouw custom waarden! //$waarden["autowaarde"]="waarden toevoegen aan array van formulier door ". $waarden["leerkracht"]; //Calling the replace function $MyFunc->MySQLreplace($tabel,$waarden); CRUD 8 Bert Van den Abbeele
9 //Calling the MySQLsisconnect function $MyFunc->MySQLdisconnect(); echo "<br/><br/><a href=\"./\" target=\"_self\">ga terug...</a>";?> </body> </html> Tot slot komen we bij de D van CRUD. We wensen de gegevens te deleten, hiervoor zorgt de functie MySQLdelete(); delete.php <html> <link type="text/css" href="css/site.css" rel="stylesheet" /> <body> <h1>delete or inactivate record<h1> <?php include_once("mysqlfunctions.php"); include_once("mysqlconnection.php"); // Start validation!!! // Welke record? $id=$_get["id"]; $confirm=$_get["confirm"]; //Calling the delete function if ($confirm) { $MyFunc->MySQLdelete($tabel,$pri_key,$id); echo "<center>aandacht: Deze actie zal de record definitief verwijderen uit de databank!<br/>"; echo "<a href=\"?id=$id&confirm=true\">ja, ik ben zeker!</br></center>"; //Calling the MySQLsisconnect function $MyFunc->MySQLdisconnect(); echo "<br/><br/><a href=\"./\" target=\"_self\">ga terug...</a>";?> </body> </html> Tot zover de mogelijkheden van mijn CRUD functies. Hopelijk brengt het u op ideeën om zelf aan de slag te gaan. Tot slot kijgt u hieronder de eigenlijke functies te zien. Bert Van den Abbeele CRUD 9 Bert Van den Abbeele
10 MySQLfunctions.php <?php / class MySQLfunctions Created by Bert Van den Abbeele / class MySQLfunctions { / Connecting to MySQL database Created by Bert Van den string $host : MySQL server string $user : string $pass : string $db : database to public / public function MySQLconnect($host,$user,$pass,$db) { $connection = mysql_connect($host, $user, $pass) or die("could not connect: ". mysql_error()); if($connection) { $database = mysql_select_db($db,$connection) or die("could not select database: ". mysql_error()); if($database) { return true; return false; return false; / Create HTML table from MySQL Query Created by Bert Van den string $db : string $table : tabel CRUD 10 Bert Van den Abbeele
11 @param array $fields : array fields and string $pri_key : the key value needed for delete and boolean $add_delete : add delete boolean $add_edit : add edit string string string public / public function MySQLtable($db,$tabel,$fields,$pri_key,$add_delete = false,$add_edit = false, $where = null, $order = null, $limit = null) { if($db=="") { echo "Error: Geen database ingegeven."; die(); if($tabel=="") { echo "Error: Geen tabel ingegeven."; die(); if($fields=="") { echo "Error: Geen velden opgegeven."; die(); $fieldstring=$this->getfieldstring($fields); // The query is needed to create the table! $query="select "; if($pri_key!="") { $query.= " $pri_key, "; $query.= "$fieldstring FROM $tabel"; if($where!="") { $query.= " WHERE $where"; if($order!="") { $query.= " ORDER BY $order"; if($limit!="") { $query.= " LIMIT $limit"; if($query=="") { echo "Error: No SQL query found."; die(); // Build records table echo "<table name=\"mysqltable\" id=\"mysqltable\" width=\"100%\" cellspacing=\"0\" cellpadding=\"1\" border=\"1\">\n"; CRUD 11 Bert Van den Abbeele
12 $result = mysql_query($query) or die("could not query data: ". mysql_error()); $aantal=mysql_num_rows($result); // Adding head echo "<tr>\n"; foreach($fields as $alias => $field) { if($alias!=$pri_key) { echo "<th>". $alias. "</th>\n"; if($add_edit===true && $pri_key!=""){ echo "<th></th>"; if($add_delete===true && $pri_key!=""){ echo "<th></th>"; if($add_edit===false && $add_delete===false && $add_new===true && $pri_key!=""){ echo "<th></th>"; echo "</tr><tr>\n"; // Adding records while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { foreach($row as $alias => $value) { $row[$alias] = stripslashes($value); foreach($row as $alias => $value) { if($alias!=$pri_key) { // De opmerking bekijken of er een SELECT statement in staat $opmerking=$this- >GetTableCommentFromInformationSchema($db,$tabel,$fields[$alias]); if (substr($opmerking,0,6)=="select") { // Select gevonden in opmerking $query2=$opmerking; $result2 = mysql_query($query2) or die("could not query data: ". mysql_error()); $params=array(); $aantalcolumns=mysql_num_fields($result2); $columnsnaam = mysql_field_name($result2,0); if ($aantalcolumns==2) { // Waarden opzoeken vanuit id! // Array opbouwen van de set (gewoon komma's ertussen ipv serialized) $array=explode(",",$value); $inhoud=array(); foreach ($array as $waarde) { $query3="$opmerking WHERE $columnsnaam=$waarde"; $result3 = mysql_query($query3) or die("could not query data: ". mysql_error()); $row3 = mysql_fetch_array($result3); $inhoud[] = $row3[1]; CRUD 12 Bert Van den Abbeele
13 $inhoud)."</td>"; de waarde werd ingegeven echo "<td>".implode(",", // Waarden niet opzoeken, geen id dus echo "<td>". nl2br($value). "</td>\n"; echo "<td>". nl2br($value). "</td>\n"; if($add_edit===true && $pri_key!=""){ echo "<td width=\"25\"><a href=\"createupdate.php? id=$row[$pri_key]\" targer=\"_self\"><img src=\"images/edit.png\" border=\"0\" /></a></td>"; if($add_delete===true && $pri_key!=""){ echo "<td width=\"25\"><a href=\"delete.php? id=$row[$pri_key]\" targer=\"_self\"><img src=\"images/delete.png\" border=\"0\" /></a></td>"; if($add_edit===false && $add_delete===false && $add_new===true && $pri_key!=""){ echo "<td></td>"; echo "</tr><tr>\n"; echo "</table>\n"; mysql_free_result($result); echo "</table>\n"; / Make table to edit values from MySQL table Created by Bert Van den string $table : array $fields : array fields and string $pri_key : the key of int $id : record to string $db : array $exceptions : fields to add or modify on form public / public function MySQLform($tabel,$fields,$pri_key,$id,$db, $exceptions=array()) { if($tabel=="") { echo "Error: Geen tabel ingegeven."; die(); CRUD 13 Bert Van den Abbeele
14 if($pri_key=="") { echo "Error: Geen pri_key opgegeven."; die(); if($fields=="") { echo "Error: Geen velden opgegeven."; die(); $fieldstring=$this->getfieldstring($fields); if($id=="") { // Creating a new record! So the key needs to be null! $id="null"; // The query is needed to create te table! $query="select $fieldstring FROM $tabel WHERE $pri_key = $id"; $result = mysql_query($query) or die("could not query data: ". mysql_error()); $row = mysql_fetch_array($result, MYSQL_ASSOC); $r=0; echo "<form id=\"mysqlform\" name=\"mysqlform\" method=\"post\" action=\"replace.php\">\n"; echo "<fieldset>\n"; echo "<input type=\"hidden\" name=\"id\" id=\"id\" value=\"$id\">\n"; foreach($fields as $alias => $field) { $type=$this->getgegevenstypes($tabel,$field); $required=$this->mysqlrequired($tabel,$field); //echo "<label>". $alias. "(".substr($type,0,20).")</label>\n"; echo "<label>". $alias. "</label>\n"; $typenoparams=$this->gettypenoparams($type); $tabel,$field); // De opmerking bekijken of er een SELECT statement in staat $opmerking=$this->gettablecommentfrominformationschema($db, if (substr($opmerking,0,6)=="select") { $typenoparams="select"; // Hier testen we over een een "user defined exception" is voor dit veld. De echte veldnaam wordt doorgegeven! if (in_array($field,$exceptions)) { $typenoparams="custom"; switch ($typenoparams) { case "text": echo "<textarea name=\"".$field."\" id=\"".$field."\" rows=\"6\" cols=\"40\" "; // Is NotNull then required (validation) if($required) { CRUD 14 Bert Van den Abbeele
15 echo " class=\"required\""; echo ">".stripslashes($row[$alias])."</textarea><br/>\n"; break; case "date": echo "<input type=\"text\" name=\"".$field."\" id=\"". $field."\" value=\"".stripslashes($row[$alias])."\" size=\"20\" class=\" datepicker dateiso"; // Is NotNull then required (validation) if($required) { echo " required\""; echo "\""; echo " /><br/>\n"; break; case "varchar": $maxlength=$this->getparamsfromtype($type); echo "<input type=\"text\" name=\"".$field."\" id=\"". $field."\" value=\"$row[$alias]\" size=\"".$maxlength[0]."\" maxlength=\"". $maxlength[0]."\""; // Is NotNull then required (validation) if($required) { echo " class=\"required\""; echo " /><br/>\n"; break; case "enum": $params=$this->getparamsfromtype($type); echo "<select name=\"".$field."\" id=\"".$field."\""; // Is NotNull then required (validation) if($required) { echo " class=\"required\""; echo " /><br/>\n"; echo "<option value=\"\"></option>\n"; // Hier de mogelijkheden! foreach($params as $option) { echo "<option "; if ($option==stripslashes($row[$alias])) { echo "selected"; echo " value=\"$option\">$option</option>\n"; echo "</select><br/>\n"; break; case "set": $params=$this->getparamsfromtype($type); ipv serialized) //array opbouwen van de set (gewoon komma's ertussen $array=explode(",",$row[$alias]); echo "<table border=\"0\">\n"; $i=0; foreach($params as $option) { echo "<tr><td><input "; if (in_array($option,$array)) { CRUD 15 Bert Van den Abbeele
16 echo "checked "; echo "type=checkbox name=\"".$field."[]\" id=\"". $field."[]\" value=\"$option\""; if($required) { echo " class=\"required\""; echo " />$option </td></tr>\n"; echo "</table>\n"; break; case "select": // Select gevonden in opmerking $query2=$opmerking; $result2 = mysql_query($query2) or die("could not query data: ". mysql_error()); $params=array(); // Indien SELECT id, waarde FROM... Gebruiken we de id! $aantalcolumns=mysql_num_fields($result2); if ($aantalcolumns==2) { while($row2 = mysql_fetch_array($result2)) { $params[$row2[0]] = $row2[1]; while($row2 = mysql_fetch_array($result2)) { //array_unshift($params,$row2[0]); $params[$row2[0]] = $row2[0]; een set if($type=="text") { // Type text met een select als opmerking geeft ertussen ipv serialized) //array opbouwen van de set (gewoon komma's $array=explode(",",$row[$alias]); echo "<table border=\"0\">\n"; $i=0; foreach($params as $option => $value) { echo "<tr><td><input "; if (in_array($option,$array)) { echo "checked "; echo "type=checkbox name=\"".$field."[]\" id=\"".$field."[]\" value=\"$option\""; if($required) { echo " class=\"required\""; echo " />$value</td></tr>\n"; echo "</table>\n"; elseif ($this->gettypenoparams($type)=="varchar") { // Type varchar met een select als opmerking heeft een enum echo "<select name=\"".$field."\" id=\"". $field."\""; CRUD 16 Bert Van den Abbeele
17 // Is NotNull then required (validation) if($required) { echo " class=\"required\""; echo " /><br/>\n"; echo "<option value=\"\"></option>\n"; // Hier de mogelijkheden! foreach($params as $option => $value) { echo "<option "; if ($option==stripslashes($row[$alias])) { echo "selected"; echo " value=\"$option\">$value</option>\n"; echo "</select><br/>\n"; echo "Select in opmerking maar geen varchar of text!"; break; case "custom": echo "$exceptions[$field]<br/>\n"; break; default: echo "Gegevenstype niet ondersteund!<br/>\n"; $r++; echo "</fieldset>\n"; echo "<center><input type=\"submit\" value=\"aanpassen\" /></center></td>\n"; echo "</form>\n"; mysql_free_result($result); / Delete of inactivate a record Created by Bert Van den string $tabel : string $pri_key : the key of the int $id : record to boolean $delete : delete of inactivate public / public function MySQLdelete($tabel,$pri_key,$id,$delete=false) { if($tabel=="") { echo "Error: No tabel found."; die(); if($id=="") { CRUD 17 Bert Van den Abbeele
18 echo "Error: Nothing to delete or inactivate!"; die(); $query="delete FROM $tabel WHERE $pri_key=$id LIMIT 1\n"; $result = mysql_query($query) or die("could not query data: ". mysql_error()); //echo "Met succes verwijderd!"; if($result) { return true; return false; / Disconnecting from MySQL database Created by Bert Van den public / public function MySQLdisconnect() { $disconnect=mysql_close() or die("could not disconnect: ". mysql_error()); if($disconnect) { return true; return false; / GetGegevenstypes to Array Created by Bert Van den string $tabel : string $key : te controleren private / private function GetGegevenstypes($tabel,$key) { if($tabel=="") { echo "Error: Geen tabel ingegeven."; die(); $query="describe $tabel $key"; $result = mysql_query($query) or die("could not query data: ". CRUD 18 Bert Van den Abbeele
19 mysql_error()); $row = mysql_fetch_array($result, MYSQL_ASSOC); return $row[type]; / Null allowed? Indien niet dan add class="required" Created by Bert Van den string $tabel : string $key : te controleren private / private function MySQLrequired($tabel,$key) { if($tabel=="") { echo "Error: Geen tabel ingegeven."; die(); $query="describe $tabel $key"; $result = mysql_query($query) or die("could not query data: ". mysql_error()); $row = mysql_fetch_array($result, MYSQL_ASSOC); if($row["null"]=="no") { return true; return false; / Array[field => alias] to String Created by Bert Van den array private / private function GetFieldString($fields) { //Making the fields string $fieldsaantal = count($fields); $f=0; foreach($fields as $alias => $field) { $fieldstring.= $field; if($alias) { $fieldstring.= " AS ".$alias; $f++; CRUD 19 Bert Van den Abbeele
20 if($f!=$fieldsaantal) { $fieldstring.= ","; return $fieldstring; / Replace functie Created by Bert Van den string $tabel : array $waarden : array van waarden (afkomstig van het formulier public / public function MySQLreplace($tabel,$waarden) { // Validatie foreach($waarden AS $field => $value) { // Als waarde array is dan aanpassen if (is_array($value)) { $value=implode(",",$value); $waarden[$field] = htmlspecialchars(mysql_real_escape_string($value)); //$waarden[$field] = mysql_real_escape_string($value); $query="replace INTO $tabel SET "; $aantalrecords=count($waarden); $i=1; foreach($waarden as $field => $value) { $query.="$field='$value'"; if($i!=$aantalrecords) { $query.=","; $i++; $result = mysql_query($query) or die("could not query data: ". mysql_error()); //echo "Met succes uitgevoerd!"; if($result) { return true; return false; CRUD 20 Bert Van den Abbeele
21 / Get type without parameters Created by Bert Van den string $string : the private / private function GetTypeNoParams($string) { $position=strpos($string,"(",0) ; if($position) { return substr($string,0,$position); return $string; / Get parameters from type to array Created by Bert Van den string $string : the private / private function GetParamsFromType($string) { $start=strpos($string,"(",0) ; $stop=strpos($string,")",0) ; $string=substr($string,$start+1,$stop-($start+1)); $array=explode(",",$string); foreach ($array as $key => $value) { $array[$key]=trim($value,"\x22\x27"); return $array; / Opmerkingen uit de information schema halen Created by Bert Van den string string string private / { private function GetTableCommentFromInformationSchema($db,$tabel,$column) if($db=="" $tabel =="" $column=="") { return ""; CRUD 21 Bert Van den Abbeele
22 $query="select COLUMN_COMMENT FROM INFORMATION_SCHEMA.`COLUMNS` WHERE TABLE_SCHEMA='$db' AND TABLE_NAME='$tabel' AND COLUMN_NAME='$column'"; $result = mysql_query($query) or die("could not query data: ". mysql_error()); $row = mysql_fetch_array($result, MYSQL_ASSOC); return $row["column_comment"];?> CRUD 22 Bert Van den Abbeele
SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.
BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is
Les 15 : updaten van gegevens in de database (deel2).
Les 15 : updaten van gegevens in de database (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
Een website maken met databasetoegang.
Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,
Foutcontrole met Javascript
Foutcontrole met Javascript Pol Van Dingenen Yannick Van Hauwe INLEIDING Het controleren van de gegevens die ingevuld zijn in formulieren is heel erg belangrijk. In de praktijk is enkel en alleen controle
Inhoud. Pagina 2 van 13
Code Conventie Inhoud PHP algemeen... 3 Namen van variabelen... 3 Enkele of dubbele aanhalingstekens... 3 Globale variabelen... 3 Namen van functies... 3 Argumenten van functies... 3 Formattering... 4
PHP & MySQL. Studievaardigheden 2013. Frank Takes (ftakes@liacs.nl) LIACS, Universiteit Leiden
PHP & MySQL Studievaardigheden 2013 Frank Takes (ftakes@liacs.nl) LIACS, Universiteit Leiden Inleiding Voorkennis: geen Stof: dit college, www.w3schools.com en www.php.net Opdracht: maak een uitgebreide*
SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.
SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens
Mailing List Manager. Hoofdstuk 19
Mailing List Manager Een MLM (Mailing List Manager) dient enerzijds om mailinglijsten te maken en daar berichten naar te sturen. Dat is de beheerkant. Anderzijds kan men zich als gebruiker met een MLM
PHP en een MySQL database.
mysql_php.doc 1/5 PHP en een MySQL database. Om informatie uit een MySQL database op te halen moet je de volgende stappen uitvoeren: 1. een verbinding maken met mysql; 2. een mysql database selecteren;
De MySQL C API. Variabelen in C Functies in C Pointers in C
LinuxFocus article number 304 http://linuxfocus.org De MySQL C API door Özcan Güngör Over de auteur: Ik gebruik Linux sinds 1997. Vrijheid, flexibiliteit en opensource. Dat
Content Management System
Content Management System Een CMS (Content Management System) dient om speciale gebruikers online gelegenheid te geven de inhoud van een website aan te passen. Er kunnen verschillende soorten tekst (en
Zonnepanelen Hoe krijg je de data op je website?
Zonnepanelen Hoe krijg je de data op je website? Beste website-bezoeker, Omdat ik al heel wat vragen kreeg over het gedeelte zonne-energie op mijn website, heb ik besloten om de werkwijze die ik gevolgd
PHP & MySQL. Studievaardigheden 2014. Jan van Rijn (j.n.van.rijn@liacs.leidenuniv.nl) LIACS, Universiteit Leiden
PHP & MySQL Studievaardigheden 2014 Jan van Rijn (j.n.van.rijn@liacs.leidenuniv.nl) LIACS, Universiteit Leiden Inleiding Voorkennis: geen Stof: dit college, www.w3schools.com en www.php.net Opdracht: maak
DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.
SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases
Les 9: formulier controle met javascript.
Les 9: formulier controle met javascript. Javascript is erg veel gebruikt bij internet toepassingen. In tegenstelling tot PHP, wat een server side scripting is, is java client side scripting. Dwz, niet
Oplossingen overzicht PHP. Oplossing KPN opgave, zonder testen van POST
Oplossingen overzicht PHP Oplossing KPN opgave, zonder testen van POST internetminuten in welke categorie val ik?
Formulieren maken met Dreamweaver CS 4/CS 5
Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit
ideal Betaal Formulier (Ondersteund o.a. ideal, MisterCash, Direct E-Banking en Credit Card)
Script: Versie: 0.5 Licentie: ideal Betaal Formulier (Ondersteund o.a. ideal, MisterCash, Direct E-Banking en Credit Card) Gratis te gebruiken door (erkende) goede doelen. 200,00 excl. BTW voor aanschaf
SQL INJECTIE Door Eoghain Verdonckt Beveiliging december 2013
SQL INJECTIE Door Eoghain Verdonckt Beveiliging december 2013 Voor mijn werkje voor beveiliging ga ik een tutorial maken voor SQL injectie. En hoe we deze kunnen voorkomen. Allereerst heb ik een tabel
SQL datadefinitietaal
SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen
HTML. Formulieren. Hans Roeyen V 3.0
Formulieren Hans Roeyen V 3.0 26 februari 2015 Inhoud 1. Formulieren... 3 1.1. De form tag... 3 1.1.1. Het action attribute... 4 1.1.2. Het method attribute... 4 1.2. De input tag... 4 1.3. Soorten input
Javascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Databases - Inleiding
Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden
Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts
Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Studenten: Peter Asnong Rik Broens Tom De Keyser Daan Gielen Kris Gregoire Koen Olaerts Toon Wouters Inhoudsopgave
Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn:
5. De oefendatabase 5.1. Inleiding In de volgende hoofdstukken ga je oefenen / werken met SQL. Om te kunnen oefenen heb je natuurlijk wel een database nodig. In dit hoofdstuk wordt besproken hoe je deze
Dynamische Websites. Week 6. vrijdag 25 oktober 13
Dynamische Websites Week 6 AGENDA Herhaling Databank SQL Injection Ontwerp OO _ indien private of protected magic zo weinig mogelijk php! View MVC home.php confirm.php vehicledetail.php Controller Model
Hoe bouw ik een component? Drs. Arjan Burger
Hoe bouw ik een component? Drs. Arjan Burger Zelf bouwen in Joomla! Veel standaard componenten aanwezig Zelf bouwen: meer mogelijkheden Maatwerk (redelijke tot grondige) PHP kennis vereist Meeliften op
Dynamische Websites. Week 10
Dynamische Websites Week 10 INFO Feedback vraag het in de labo s als je feedback wilt op je code Lessen op 5/12 en 12/12 om 17.15 op 19/12 om 11.00 KLEURENCODE GROEN = zelf kunnen schrijven PAARS = code
Sparse columns in SQL server 2008
Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG
DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1
DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.
Dynamische Websites. Week 2
Dynamische Websites Week 2 AGENDA Labo 1 GET, POST Navigatie, etc Varia 1 2
Les 9: Formulieren. Proficiat, U hebt het al tot de laatste oefening gebracht. In deze les komen formulieren aan bod, U hebt ze zeker al eens gezien op een site, en indien niet neem dan eens vlug een kijke
6. Het maken van een database
6. Het maken van een database 6.1. Inleiding In hoofdstuk 5 heb je de oefendatabase gemaakt doormiddel van een script. In dit hoofdstuk ga je zelf een database maken en deze vullen met tabellen. Hiervoor
9. MYSQL. Daarin zien we het administratie paneel van mysql.
9. MYSQL We kunnen ook in dit systeem gebruik maken van de gekende ACCESS databanken. Zolang het maar relationale databanjken zijn kunnen we er gebruik van maken. In PHP echter maakt men meestal gebruik
Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster
4. 4. Inhoud rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 4 Databank Terminologie, Navigeren, Importeren Tabellen Records/Velden manipuleren Queries (Vragen) [Ook in SQL] sorteren filter volgens
Object Oriented Programming
Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming
ASRemote WebService. Via deze webservice kunt u:
ASRemote WebService De ASRemote WebService is een SOAP Webservice die softwarematige communicatie met Exact Globe mogelijk maakt vanaf een willekeurige locatie op het internet. Via deze webservice kunt
Arrays en Foreach. Huub de Beer. Eindhoven, 4 juni 2011
Arrays en Foreach Huub de Beer Eindhoven, 4 juni 2011 Associatieve arrays (I) Je kent er al een aantal: $_POST en $_GET. PHP maakt er meer aan: $_SERVER, $_SESSION. Zie http://www.php.net/manual/en/reserved.variables.php
Formulieren maken met Dreamweaver CS 4
Formulieren maken met Dreamweaver CS 4 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit zoveel
Query SQL Boekje. Fredrik Hamer
Query SQL Boekje Query SQL Boekje Fredrik Hamer Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402162103 Fredrik Hamer Inhoudsopgave A. Aanhef bepalen 17 Aantal 18 Aantal dagen tussen
Oracle client 1.2 voor ixperion 1.3 en hoger
Installatiehandleiding Oracle client 1.2 voor ixperion 1.3 en hoger voor Windows 2008 R2 64bit Copyright 2010 Versie 1.0.1 Seneca 2010 1 Auteur: ing. Silvio Bosch Versiebeheer: Versie Status Datum Omschrijving
NHibernate als ORM oplossing
NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een
Formulieren en waarden posten naar een view
Hoofdstuk 4 Formulieren en waarden posten naar een view Waarden posten naar een view in een Zend-project gaat heel anders dan dat je gewend bent. Om dit mechanisme te leren, kunnen we het beste een eenvoudige
Hoofdstuk 6. PHP Data Objects. Cursus PHP & MySQL Groep D
Hoofdstuk 6 PHP Data Objects Cursus PHP & MySQL Groep D Hoofdstuk 1: PHP Data Objects 1.1 Inleiding Tegenwoordig kun je er bij het ontwikkelen van een website bijna niet meer omheen: het gebruik van een
SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC
Aantekeningen IRDB Vak: IRDB > Infrma1ca Rela1nele DataBase Onderstaande database scripts zijn gebaseerd p PstgreSQL. Standaarden Schrijf SQL wrden al1jd in hfdlefers, k al werkt het met kleine lefers;
Naam project Lost And Found Animals Lokaal gehost Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50%
Naam project Lost And Found Animals Url Lokaal gehost Groepsleden Percentage van het totaal geleverde werk 1 Cindy Jansen 50% 2 Eline Steyvers 50% 1. Beveiliging in de toepassing Naam gebruiker Wachtwoord
A.C. Gijssen. 0.3 PHP en MySQL
PHP en MySQL A.C. Gijssen 0.3 PHP en MySQL PHP en MySQL 0.4 Inhoudsopgave Voorwoord Deel 1 Over PHP 1.1 Inleiding...13 1.2 Wat is PHP?...14 1.3 De geschiedenis van PHP...15 1.4 Editor...16 1.5 PHP en websites...17
Formulier maken en opvangen met php
Welkom bij mijn PHP tutorial (Deel 2) Ik ga in deze delen PHP uitleggen, dit doe ik in het programma notepad++ (gratis) deze kunt u downloaden van www.richard3332.nl/downloads.php Als u beschikt over dreamweaver
Bibliotheek in ProcessMaker
Bibliotheek in ProcessMaker Gevraagd wordt voor een bibliotheek een informatiesysteem te ontwerpen. De bibliotheek heeft een aantal bibliothecarissen die de verzameling beheren, en leden die deze boeken
Secure Application Roles
Secure Application Roles Beheer de toegang tot de database 1. Inleiding Het realiseren van geautoriseerde toegang tot een database lijkt eenvoudig. Echter, vaak blijkt dat dezelfde combinatie van gebruikersnaam
opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren
opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren Handleiding om te beginnen met mysql WorkBench. In twee stappen 0. WorkBench verbinden met mysql 1. een hallo
Icoon/Icon Betekenis Description. Change scheduling Online. Gaat offline op (datum/tijd) Online. Going offline on (date/time)
Algemeen/General Gepubliceerd maar gewijzigd Published but changed Meer acties op geselecteerde content More actions on selected content Gepubliceerd en niet gewijzigd Published and not changed Terugdraaien
Externe pagina s integreren in InSite en OutSite
Externe pagina s integreren in InSite en OutSite Document-versie: 1.1 Datum: 04-10-2013 2013 AFAS Software Leusden Niets uit deze uitgave mag verveelvoudigd worden en/of openbaar gemaakt worden door middel
return an ; } private I L i s t l i j s t ;
In bovenstaande code werd de binding t e k s t. DataBindings. Add(new Binding ( Text, l i j s t, ) ) ; gebruikt om de eigenschap Text van het object tekst (dwz. tekst.text) te binden aan het object lijst.
Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site
Kies File>New>Blank Page>PHP Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Geef de site een passende naam. Kies ook de juiste map voor de webdocumenten.
Gebruikershandleiding voor: Beperkte Password protectie met JavaScript
Gebruikershandleiding voor: Beperkte Password protectie met JavaScript URL: http://home.hccnet.nl/s.f.boukes/html-2/html-202.htm INHOUD : 1. Structuur van een beveiligde site 2. Login-formulier 3. Login
Les 11 : Basis SQL (deel2).
Les 11 : Basis SQL (deel2). Wat is SQL? SQL gaan we gebruiken voor het raadplegen van de database. We gaan gegevens invoegen in de database, selecteren, aanpassen en verwijderen van de database. Om dit
Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen
Installeer Apache2: Deze howto gaat over name based virtual hosting onder Apache 2.x., en is getest onder OpenSUSE 11 maar is in feite ook van toepassing op de andere distributies. Alleen Debian en afgeleide
Data Warehouse Script Generator Doel
Data Warehouse Script Generator Doel Op basis van een aantal standaard sql scripts ( create table, create view ) een nieuwe sql script genereren welke alle objecten ( tables & views ) kan aanmaken in een
Beheer van databanken
Beheer van databanken Wim De Proost Jan Jochems Pieter Van den Akkerveken Departement Handelswetenschappen en Bedrijfskunde Bachelor Informatica 3 de jaar Academiejaar 2011-2012 2 Inhoud INLEIDING... 3
De categorie Forms in het paneel Insert
Formulieren Invulformulieren bieden u de mogelijkheid om te communiceren met de bezoekers van uw website. Ze geven de bezoeker de mogelijkheid om feedback te geven, informatie door te spelen, informatie
Figuur 1 HTML-pagina opvragen
Inleiding In figuur 1 vraagt een host naar een HTML-pagina die in de Web-server is opgeslagen. De Web-server leest deze pagina van de hard disk en stuurt de desbetreffende pagina naar de host. harddisk
MVC BASICS 2. Kevin Picalausa
MVC BASICS 2 Kevin Picalausa 1 Forms 2 Action en Method Action Vertelt de Browser naar waar de form data (informatie) door te zenden. URL kan relatief of absoluut zijn. Method De manier waarop de form
Automatische Installatie op IIS server
Automatische Installatie op IIS server In de map Web staat het installatiebestand : Je kan de install starten door het aanklikken van het msi bestand vanuit Verkenner. Na installatie is steeds een manuele
Lab Webdesign: Javascript 7 april 2008
H8: FORMULIEREN In dit hoofdstuk komt het "form"-object aan de orde: we zullen zien hoe we JavaScript kunnen gebruiken voor het manipuleren en valideren van de gegevens die een eindgebruiker invult in
Webtechnology crash course
Webtechnology crash course Thomas Helling Leiden Business Intelligence & Proces Modeling 1 Wie van jullie heeft al gewerkt met... HTML? CSS? Bootstrap? PHP? MySQL? jquery & JSON? 2 Hoe het werkt 3 HTML
Les 2 Eenvoudige queries
Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten
Voor vragen: http://www.richard3332.nl/ of mail naar Richard3332@gmail.com
Welkom bij mijn website tutorial (Deel 7) Ik ga uit van Microsoft XP voor de duidelijkheid. Ik heb dus geen idee of de programma s die ik gebruik ook op Vista werken. Notepad++ werkt zowieso op xp en Vista.
Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.
Hoofdstuk 2 Een ASP.NET applicatie met ADO.NET opzetten In dit hoofdstuk ga je een eenvoudige website opzetten, waarbij je een aantal gegevens uit een database ophaalt. Je moet je kennis van ADO.NET dus
12. Meer dan één tabel gebruiken en sub-queries
12. Meer dan één tabel gebruiken en sub-queries 12.1. Inleiding In de vorige hoofdstukken heb je telkens queries uitgevoerd op één tabel. In de praktijk is het raadplegen van gegevens over het algemeen
Les 12 : database koppeling, opmaken van template, webstructuur en afdrukken van gegevens. (deel2).
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
http://www.liacs.nl/home/kosters/java/
sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14
QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network
Een sjabloon (in PHP template genaamd) bevat de volledige
Html-sjablonen in PHP 12 Een sjabloon (in PHP template genaamd) bevat de volledige opmaak van een (html-)pagina. Code en opmaak zijn hierbij gescheiden. Terwijl veel startende programmeurs code en opmaak
Fun met webparts in ASP.Net
Fun met webparts in ASP.Net Deel 2:User controls en Webparts door Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Inhoudsopgave FUN MET WEBPARTS IN ASP.NET... 1 DEEL 2:USER CONTROLS EN WEBPARTS...
Webapplicatie-generatie NIOC 2013
Webapplicatie-generatie NIOC 2013 Eddy Luursema, Misja Nabben, Arnoud van Bers Research Group Model Based Information Systems Presentation Introduction M-BIS Data intensive systems Requirements Generation
MySQL en PHP. MySQL - PHP - 2010 - Bert J. U bevindt zich hier!1
MySQL en PHP MySQL - PHP - 2010 - Bert J. U bevindt zich hier!1 1. MySQL & PHP Met php en MySQL betreden we een volledige nieuwe wereld van webdatabasetoepassingen. 1.1. MySQL MySQL is een snelle, eenvoudig
Je hoeft je maar met twee bestanden bezig te houden:
1 2 3 Deze set Sushi Kaarten leert je hoe je een web-app maakt met een nogte-doen lijst. Als je op enig moment wilt zien hoe de web-app kan worden, kijk dan op dojo.soy/js-todo. Deze app kun je gebruiken
Dit kan gebruikt worden in zowel een ASP.NET web applicatie als een desktop applicatie.
Introductie Dit artikel laat zien hoe je een Image in een C# applicatie kan opslaan in een database en het kan ophalen uit de database om het te laten zien. Voor de database gebruiken we MS SQL maar voor
Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Maak een pivot uit een Generic.List
Maak een pivot uit een Generic.List Introductie in extensions, reflection en code generation Nivo: 400 Introductie In bepaalde gevallen komt het voor dat je een Generic.List van een specifieke class hebt,
Elementary Data Structures 3
Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer
Inhoud Basiscursus. Access 2010 NL-NL
Inhoud Basiscursus Access 2010 NL-NL 1 - Access starten... 6 Een bestaande database openen... 8 Menu-opdrachten gebruiken... 9 Werkbalken tonen en verbergen... 11 Menu- en werkbalkopties aanpassen... 12
1 Inleiding Installatie 21. WAMP met Apache Friends 23. XAMPP starten en controleren 26. LAMP 32 De installatie ongedaan maken 33
0DD&) QO( l 1 Inleiding 13 De betekenis van PHP 14 Voorkennis 15 Wat dit boek niet biedt 15 PHP 5 - Een routebeschrijving door dit boek 1 5 Zo kunt u de weg vinden 17 Een dankwoord van de auteur 18 Copyright
Domein API Handleiding
Domein API Handleiding Versie 1.6 Datum: 16-07-2014 1 Inhouds opgave 2 Inleiding 3 Result codes 4 Api functies 5 Api helpers 2 Inleiding: De API van 123 Hosting Service kan worden gebruikt om te registreren
Handleiding RS Form! 1.0.4
Handleiding RS Form! 1.0.4 Inhoud 1. Controlepaneel... 3 2. Forms Manager... 4 2.1 Nieuwe form aanmaken... 4 2.2 Nieuwe fields toevoegen... 7 2.3 Wijzigen/verwijderen bestaande Forms, Fields... 10 Versie
ASP.NET Test 2009-2010. Jan Van Ryckeghem
ASP.NET Test 2009-2010 Jan Van Ryckeghem Inhoud Exceptionhandling H4... 3 Try Catch slide 25... 3 Error pagina slide 29... 3 Error.aspx... 3 Error.aspx.cs... 4 Web.config... 4 Logbestand aanmaken... 4
Nummer: 011 (11062002) The Courseware Company
Access Module 0 Access voor Windows, versie 97 (UK) Nummer: 011 (11062002) Niets van deze uitgave mag verveelvoudigd worden en/of openbaar worden gemaakt door middel van druk, fotokopie, microfilm of op
Internet_html.doc 1/6
Internet_html.doc 1/6 Internet html. HTML syntax en regels Een HTML-element is opgebouwd uit een startmarkering en een eindemarkering (behalve enkele speciale markeringen zoals bvb. , , ).
Release Notes. Afdrukdatum: 2008/10/06
Release Notes Afdrukdatum: 2008/10/06 Dit document beschrijft vanuit technisch oogpunt de aanpassingen in Hi-Ant aan de betreffende versie. Deze tekst is geenszins bedoeld als document naar de eindgebruiker,
TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise
TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise Inhoudsopgave 1. Voorbereiding... 4 2. Web Service Connector tool configuratie... 5 3. TaskCentre taak voor het aanmaken van
Taak 2.1.3 Versleutelen en dan weer terug... 1
Taak 2.1.3 Versleutelen en dan weer terug Inhoud Taak 2.1.3 Versleutelen en dan weer terug... 1 Inhoud... 1 Inleiding... 2 Encryptie en Decryptie... 3 Symmetrisch... 3 Asymmetrisch... 3 Waarom Encryptie
8. Koppeling met een database
PHP7 en MySQL 8. Koppeling met een database 8.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt
Thinking of development
Thinking of development Databases Arjan Scherpenisse HKU / Miraclethings Agenda voor vandaag Opdracht tussenstand State diagram / Observer pattern Bret Victor Databases 2/42 Opdracht tussenstand Slides
WEBSITE-DESIGN CHRIS VERMAAS & FJODOR VAN SLOOTEN 2014-201000018-1B
WEBSITE-DESIGN CHRIS VERMAAS & FJODOR VAN SLOOTEN 2014-201000018-1B WEBSITE-DESIGN INHOUD COLLEGE Afronding vak JQuery, mail(formulieren) en social media Testen Website-design 5-1-2015 2 AFRONDING VAK
PL/SQL. Declaraties van variabelen. Structuur PL/SQL is een blok-georiënteerde taal: Toekenningen
PL/SQL PL/SQL is een procedurele uitbreiding op SQL, omdat SQL op zich niet krachtig genoeg is om complexe databank applicaties te ontwikkelen. Server-side functies, of stored procedures worden op de database
Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Excel Controller. Handleiding Excel Controller Wizard
Excel Controller Handleiding Excel Controller Wizard 1 Inhoud Inleiding... 3 Eigen SQL... 3 Stap 1 Eigen SQL... 3 Stap 2 Testen SQL... 8 Stap 3 Wizard... 11 Stap 4 Parameters... 13 Voorbeeld Eigen Parameter...
UNIX FAQ. Migratie naar een nieuwe server
UNIX FAQ Migratie naar een nieuwe server Shared Hosting Unix FAQ v5 NL 28032006 Pagina 1/13 Inhoudstafel 1. Inleiding...3 2. Inloggen...3 3. Register_globals in PHP...4 3.1 Wat is de optie register_globals