Connaissances PHP/(x)HTML/CSS/MySQL


Au niveau de la programmation web. Les bases sont selon-moi la mise en relation des langages PHP, (x)HTML, CSS et MySQL.
La plupart des sites internet que l'on utilise régulièrement sont créés sur ce principe.

Dans tous cas, c'est ce model que j'utilise. Ce Portfolio respect d'ailleurs ce principe.
Les éléments sont positionnés en xHTML 1.0 Strict (Normes W3C) et la mise en forme est faite à l'aide du CSS 2.0.
Le site internet est généré dynamiquement à l'aide du PHP (système de pages, de templates, de langues) et le contenu des différentes pages sont restituées depuis MySQL.

Code Source de mon Portfolio

La totalité des codes de ce site ont été créer avec mes propres connaissances ainsi que les éléments graphiques (à l'exception de GeSHi, JQuery et Highslide).
Je vous propose de télécharger les codes sources que j'ai placé sous license Creative Commons Paternité - Pas d'Utilisation Commerciale.
Vous pourrez ainsi juger de la qualité de mon travail:

Télécharger
TELECHARGER LE CODE SOURCE DE MON PORTFOLIO


Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Pas d'Utilisation Commerciale 2.0 France.

Fonction de simplification des actions sur base de donnée MySQL:

La prochaine amélioration de mon portfolio portera sur une gestion complète par MySQL.
Voici un exemple de fonctions qui seront utilisées sur cette prochaine version.

Exemple d'appel (index.php):

<?php
include('language.php');
include('functions.php');
 
echo db_exec ('INSERT', 'main', '30', array(
	'make'	=> 'make test',
	'model'	=> 'model test'
));
?>

Clés de langue (language.php):

<?php
$lang = array(
	'DB_NOACCESS'	=> 'Error username or password for database connect',
	'DB_NOCONNECT'	=> 'Error connect to database',
	'DB_SQLERROR'	=> 'Error SQL: %s<br />Contact your Administrator'
);
?>

Fonctions (functions.php):

<?php
/*******************
** Functions File **
*******************/
 
// Connect to Database
function connect ($dbhost, $dbuser, $dbpass, $dbselect) {
	$dbconnect = mysql_connect($dbhost, $dbuser, $dbpass) OR DIE ($lang['DB_NOACCESS']);
	mysql_select_db($dbselect, $dbconnect) OR DIE ($lang['DB_NOCONNECT']);
}
 
function db_exec ($type, $table, $id=0, $element=array()) {
	global $lang;
 
	switch ($type) {
		case 'INSERT':
			$j = sizeof($element);
			$i = 0;
			$sql = "INSERT INTO " . $table . "(";
			foreach ($element as $key => $sub) {
				$sql .= ($nb = $i) ? $key . ') VALUES(' : $key . ', ';
				$i++;
			}
			$j = sizeof($element);
			$i = 0;
			foreach ($element as $key => $sub) {
				$sql .= ($nb = $i) ? "'" . $sub . "')" : "'" . $sub . "', ";
				$i++;
			}
			mysql_query($sql) OR DIE (sprintf($lang['DB_SQLERROR'], mysql_error()));
			//OR DIE (mysql_error());
		break;
 
		case 'DELETE':
			mysql_query("DELETE FROM " . $table . " WHERE id=" . $id)
				or die (sprintf($lang['DB_SQLERROR'], mysql_error()));
		break;
 
		case 'SELECT':
			mysql_query("SELECT " . (($element) ? $element : '*') . "
				FROM " . $table . " WHERE id=" . $id)
				or die (sprintf($lang['DB_SQLERROR'], mysql_error()));
		break;
 
		case 'UPDATE':
			$j = sizeof($element);
			$i = 0;
			$sql = "UPDATE " . $table . " SET ";
			foreach ($element as $key => $sub) {
				$sql .= ($nb = $i) ? $key . " = '" . $sub . "' " : $key . " = '" . $sub . "', ";
				$i++;
			}
			$sql .= "WHERE id = " . $id;
		break;
	}
	return $sql;
}
 
?>

Liens vers mes créations:

Au cours de mon apprentissage personnel de ces langages (n'ayant pour le moment pas suivi de formation particulière), j'ai créé et testé toutes sortes de scripts pour faire vivre mon site internet communautaire (Finitia-World). En voici quelque uns: