Différences entre les versions de « SPARQL Protocol and RDF Query Language/Travail pratique/PHP avec MySQL »

 
===Afficher des données===
On a déjà utilisé la syntaxe sqlSQL d'une simple requête pour récupérer des données dans un TP précédent:
* pour récupérer tous les CVs concernant Toto par exemple.
<source lang="sql">
SELECT * FROM CVs WHERE nom= "Toto"
</source>
*pour récupérer tous les CVs concernant Toto par exemple.
 
Pour chaque CV, PHP va nous envoyer plusieurs infos (l'ID, le prénom, l’adresse...). Chaque enregistrement récupéré de mala baseBDD sera dansutilisable sous la forme d'un tableau pour PHPassociatif.
 
On va utiliser la fonction PHPsuivante destinéepour àrécupérer ce tableau mysql :
<source lang="php">
mysql_fetch_array($TrucRecupereSurSql)
</source>
 
'''On récupère ainsi un tableau associatif qui a pour indice: le nom de chaque champ.'''
 
 
Voici la méthode pour afficher des données depuis une base de données :
#On se connecte à la base (en utilisant unenotre fonction de connexion).
#On prépare la commande sqlSQL en la stockant dans unela variable PHP du type $sql (pour langage sql).
#On exécute la lancerequête, en récupérant le résultat dans une variable que nous appellerons $req (pour requete sql et qui pourra être un tableau si le résultat dépasse un élément).
#Si c'est un tableau : On scanne $req avec une boucle while (car on ne sait pas toujours le nombre de champs, ni d'enregistrements envoyer par notre base de données)
##*A chaque itération la fonction mysql_fetch_array($req) instancie la variable $data
##*chaque champ de l'enregistrement est accessible via la commande : $data['champ']
#Maintenant qu'on a tout récupéré dans des variables PHP, on libère la mémoire sqlde MySQL mobilisée par cette requête.
#On ferme la connexion sqlSQL.
 
 
Exemple :
<source lang="php">
 
<?php
include("fonctions.php");
?>
<html><body>
<body>
<?php
connectMaBase(); //On se connecte
$sql = 'SELECT * FROM utilisateurs WHERE sexe="F"'; // On prépare la requête
// On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//on organise $req en tableau associatif $data['champ']en scannant chaque enregistrement récupéré
echo'<h2>TOUTES LES FILLES INSCRITES :</h2>';
while ($data = mysql_fetch_array($req)) { //boucle
// on affiche les résultats
echo 'Pseudo : <strong>‘. $data['Pseudo'] .'</strong><br />';
echo 'Son âgePseudo : '<strong>‘. $data['AgePseudo'] .'</strong><br />';
echo 'SaSon date d\'inscriptionâge : '.$data['DateInscriptionAge'].'<br /><br/>';
echo 'Sa date d\'inscription : '.$data['DateInscription'].'<br /><br/>';
}
//On libère la mémoire mobilisée pour cette requête dans sql $data de PHP lui est toujours accessible !
mysql_free_result ($req);
//On ferme sql
mysql_close ();
?>
</body></html>
</body>
</body></html>
</source>
 
700

modifications