Sie sind auf Seite 1von 6

Rsum dveloppement PHP avanc

1. Connexion BDD
<?php
// on se connecte MySQL
$db = mysql_connect('localhost', 'login', 'password');
// on selctionne la base
mysql_select_db('nom_de_la_base',$db);
// on cre la requete SQL
$sql = "SELECT nom,prenom,statut FROM famille_tbl";
// on envoie la requte
$req = mysql_query($sql) or die('Erreur SQL !<br>'.
$sql.'<br>'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['nom'].' '.$data['prenom'].'</b> ('.
$data['statut'].')';
echo ' <i>date de naissance : '.$data['datefr'].'</i><br>';
}
// on ferme la connexion mysql
mysql_close();
?>

Abdelmonem NAAMANE

Page 1/6

2. Envoi de mail
<?php
$destinataires = 'isamm@naamane.com , master@naamane.com ' ;
$sujet = 'Projet fin d'anne' ;
$entetes = "From: isamm@naamane.com \n" ;
$entetes .= "Reply-to: isamm@naamane.com \n" ;
$entetes .= "Cc: isamm2@naamane.com \n" ;
$entetes .= "Bcc: isamm3@naamane.com \n";
/* Ici notre message sera envoy en copie isamm2@naamane.com et en copie
cache isamm3@naamane.com */
//Le quatrime paramtre est optionnel
mail($destinataires, $sujet, "Vous devez envoyer votre rapport complet sur le
projet de fin d'anne.\n Cordiallement\n Abdelmonem NAAMANE", $entetes) ;
?>

Abdelmonem NAAMANE

Page 2/6

3. POO
<?php
// dfinition de la classe
class voiture {
public $taxe ; //attribut
public $prixHT ; //attribut
function prixTTC( $force_de_freinage ) { //mthode
return $this->prixHT * $this->taxe ; // accs un attribut dans la mme classe
}
}
// Instanciation dun objet
$mavoiture = new voiture() ;
//accs l'attribut
$mavoiture->prixHT = 2000 ;
$mavoiture->taxe = 1.2 ;
//affichag de la valeur d'un attribut
echo 'Le prix hors taxe est : '. $mavoiture->prixHT;
//appel de mthode
echo 'Le prix TTC est : ' . $mavoiture-> prixTTC();
}
// hritage
class triCycle extends voiture{
}
?>

Abdelmonem NAAMANE

Page 3/6

4. SimpleXML et PHP 5
4.1. Chargement du fichier XML
Pour lire le fichier XML, nous allons utiliser la nouvelle fonction simplexml_load_file.
La page PHP cre tant situe dans le mme dossier que le fichier XML, nous aurons donc simplement
comme code PHP : $xml = simplexml_load_file('etudiant.xml');
En ajoutant une scurit par rapport l'existence du fichier, le code devient :
if (file_exists('etudiant.xml')) { // tester si le fichier existe
$xml = simplexml_load_file('etudiant.xml') ; // chargement du fichier XML
} else {
exit('Erreur !.');
}

4.2. Rcupration des informations gnrales du fichier


Dans tout fichier XML, vous pouvez rcuprer des informations gnrales sur le les tudiants : Nom, email,
etc.
<etudiants>
<etudiant>
<nom>NAAMANE</nom>
<prenom>Abdelmonem</prenom>
<email >isamm@naamane.com</email>
<site url="http://isamm.naamane.com">ISAMM</site>
</etudiant>

</etudiants>

On constate donc que le nom est contenu dans la balise <nom> qui elle-mme est contenue dans <etudiants>.
Donc pour rcuprer le contenu de <nom>, la syntaxe est : $xml->etudiants->nom;
Vous pouvez ainsi reprer la structure en noeuds transpose en PHP. Ce bref exemple vous montre la
simplicit de cette fonction.
Donc pour rcuprer nos trois valeurs, on peut utiliser ce script :

Abdelmonem NAAMANE

Page 4/6

$nom = $xml->etudiants->etudiant->nom;
$email = $xml->etudiants->etudiant->email;
$prenom = $xml->etudiants->etudiant->prenom;

4.3. Rcupration des 5 dernires tudiants


Vous l'avez compris, cette fonction utilise intelligemment la structure de XML.
Chaque etudiant est reprsente par la balise <etudiant> , qui contient elle-mme les balises nom, prenom,
email, matiere. Celles qui nous intressent peuvent se limiter au nom, prenom et email.
Voici un exemple d'une actualit dans le XML :
<etudiants>
<etudiant>
<nom>NAAMANE</nom>
<prenom>Abdelmonem</prenom>
<email >isamm@naamane.com</email>

<etudiant>
<nom>BABA</nom>
<prenom>Ali</prenom>
<email >ali@baba.com</email>

</etudiants>

On pourrait facilement rcuprer ces valeurs en utilisant par exemple :


$xml->etudiants->etudiant->nom ; ==> Faux si la balise etudiant se rpte

Ainsi, si une balise XML est rpte, vous pouvez y accder en utilisant les tableaux pour cette valeur.
Comme la balise etudiant est rpte, et que la premire valeur d'un tableau en PHP commence 0, l'item de
la premire actualit est etudiant[0] , puis etudiant[1] etc.
Les valeurs qui nous intressent pour le premier tudiant sont donc :
$xml->etudiants->etudiant[0]->nom;

Abdelmonem NAAMANE

Page 5/6

$xml->etudiants->etudiant[0]->prenom;
$xml->etudiants->etudiant[0]->email;

Puis pour le seconde :


$xml->etudiants->etudiant[1]->nom;
$xml->etudiants->etudiant[1]->prenom;
$xml->etudiants->etudiant[1]->email;

Bien sr, une boucle vous permettra de grer ces valeurs plus proprement :
for ($i=0; $i<5; $i++) {
echo "<p>";
echo $xml->etudiants->etudiant[$i]->nom ."<br />";
echo $xml->etudiants->etudiant[$i]-> prenom ."<br />";
echo $xml->etudiants->etudiant[$i]-> email ."<br />";
echo "</p>";
}
Pour afficher toutes les tudiants, nous aurions pu utiliser la fonction foreach :
foreach ($xml->etudiants->etudiant as $valeur) {
echo $valeur->nom, '<br />';
}

4.4. Rcupration de la valeur des attributs


En XML, vous pouvez galement avoir besoin des attributs de certaines balises. C'est le cas par exemple de la
balise :
<site url="http://isamm.naamane.com">ISAMM</site>
Pour rcuprer la valeur de l'attribut url pour la premire actualit, il faut utiliser :
$xml->etudiants->etudiant[0]->site['url'];

Abdelmonem NAAMANE

Page 6/6