Récupérer ses données et les afficher

Récupérer ses données et les afficher

Messagede Devorg le Lun 14 Avr 2008 22:58

Avant de commencer, il nous faut disposer d'une table mysql, contenant quelques enregistrements.
Nous allons la créer rapidement dans phpmyadmin, ce sera la table "facture".
Pour créer votre table, ouvrez phpmyadmin, choisissez votre base de donnée, et pour finir, cliquez sur l'onglet "SQL" en haut de l'interface de phpmyadmin.
Un champ de text apparait.
Dans ce champ, saisissez le code ci-dessous, puis appuyez sur le bouton "Exécuter".

Code: Tout sélectionner
CREATE TABLE facture
(id INT NOT NULL AUTO_INCREMENT,
nom VARCHAR(20) NOT NULL,
prenom VARCHAR(20) NOT NULL,
produit VARCHAR(20) NOT NULL,
vente DATE NOT NULL,
reference VARCHAR(8) NOT NULL,
PRIMARY KEY(id)
);

INSERT INTO facture
VALUES(
"","Valjean","Jean","Aspirateur 2000","1999-04-04","179-78-3"
);

INSERT INTO facture
VALUES(
"","Degru","Marcial","Percolateur 3000 ","1999-06-10","008-62-9"
);

INSERT INTO facture
VALUES(
"","Jonchard","Henriette","Machine à laver","1999-08-22","058-33-5"
);

INSERT INTO facture
VALUES(
"","Sacré","Stéphane","Perceuse","1999-08-23","112-47-5"
);


Et voila le travail ! La table facture est maintenant créée, et comporte 4 enregistrements. Vous pouvez vérifier que l'opération s'est bien passée en allant jeter un oeil à cette nouvelle table, sous phpmyadmin.


// Récupérer ses données via une page web.

C'est ici que ça se corse. Nous allons récupérer nos données grâce à une page php, voici comment faire :

Code: Tout sélectionner
<?
// connexion au serveur mysql
$connexion = mysql_connect("www.creer-site-internet.org","login","pass");
mysql_select_db("nom_base_donnee",$connexion);

// récupération des données de la table facture
$requete = "select * from facture";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi))
{
$nom = $tableau['nom'];
$prenom = $tableau['prenom'];
$produit = $tableau['produit'];
$vente = $tableau['vente'];
$reference = $tableau['reference'];

// transition date us => fr
$annee_vente = substr($vente,0,4);
$mois_vente = substr($vente,5,2);
$jour_vente = substr($vente,8,2);
$vente = "$jour_vente-$mois_vente-$annee_vente";

// affichage des données
echo "$nom $prenom à acheté ce $produit le $vente - ref : $reference <br>";
}
?>


- Explications : Tout d'abord on se connecte à mysql, par la méthode habituelle.

Ensuite on crée une requête qui va nous permettre de sélectionner tout les champs de chaque enregistrement ( gràce au * ) : $requete = "select * from facture"; » Sélectionner tout les champs de la table "facture".
Après, on envoie la requête au serveur en utilisant la fonction mysql_query() .
Ensuite, on utilise une boucle while pour permettre de lire chaque enregistrement tant qu'on en trouve.
Si je transforme while($tableau = mysql_fetch_array($envoi)) en francais, cela donnerais ceci : Tant qu'il y'à des enregistrements alors on éffectue la requête. mysql_fetch_array() est la fonction permettant de placer les données de chaque champs de l'enregistrement, dans un tableau associatif.

On change le format de la date en morcelant en plusieurs parties la date de vente ( avec la fonction substr($vente,début,longeur) ) que l'on remet ensuite dans le bon ordre.

Et enfin, on affiche les données avec echo.


// Trier ses données.

Si vous désirez récupérer des informations bien précises dans vos tables, il faut créer des requêtes SQL différentes.
Voici plusieurs exemples de requêtes, et leurs effets si on réutilise le script créé précédemment.

Code: Tout sélectionner
$requete = "select id, nom, prenom from facture";
» récupère les champs id, nom et prénom.

$requete = "select * from facture order by nom";
» récupère tout les champs des enregistrements, classés par nom ( ordre alphabétique ).

$requete = "select * from facture where nom = 'Degru'";
» récupère tout les champs des enregistrements, ou le nom est égal à Degru.
Avatar de l’utilisateur
Devorg
Administrateur
Administrateur
 
Messages: 297
Inscription: Lun 7 Avr 2008 14:07

Retourner vers Languages du web

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron