A voir aussi...

 
 

Dans les forums

 



Tutoriaux > Webmasters > Php > Bdd MySQL Partie 1 : Récupérer des données
Bdd MySQL Partie 1 : Récupérer des données
Publié par Kjame le 21/5/2006 (7259 lus)
Page: (1) 2 »
Avec la montée vertigineuse des capacités de stockage, un problème se pose de plus en plus souvent : comment stocker et organiser les données de façon à pouvoir y accéder facilement et rapidement ? La réponse existe déjà depuis de nombreuses années : les bases de données.

Dans notre précédent tutorial, nous avons appris à créer et supprimer une base de donnée. Nous allons aujourd’hui nous intéresser de plus près aux nombreuses fonctionnalités qu’offre le langage MySQL.

Le langage SQL
Le langage Sql est un langage standard disponible quel que soit le SGBDR. Il permet de commander le système afin de lui faire ajouter ou supprimer des bases de données, des tables, des attributs, mais surtout des données. Il permet également de faire des recherches dans les données. Ainsi, supposons que nous souhaitions lister tous les logiciels de la catégorie « Bureautique ». Admettons que nous connaissons le code de cette catégorie, et que ce soit 1. Nous écririons alors la requête :

SELECT * FROM titre WHERE idcat=1


Cette requête renverra tous les noms de logiciels portant 1 comme idcat (l’id de la catégorie), soit tous titres des logiciels de la Bureautique.

Nous verrons dans ce tutorial récupérer les données d’une table, les modifier et les supprimer.

Comment récupérer les données dans une table ?

Pour récupérer des données dans une table, nous écririons des requêtes utilisant le mot clé SELECT. Celles-ci seront de la forme :

SELECT nom_attributs FROM nom_table [condition] [tri]


La partie nom_attributs peut prendre plusieurs formes : il peut s’agir d’un unique nom d’attribut, comme par exemple « titre », ou bien par exemple d’une liste de noms d’attributs séparés par une virgule, comme par exemple « titre, description ». Si vous souhaitez récupérer l’intégralité des attributs d’une table, vous pourrez écrire * comme nom d’attribut :




SELECT titre, description FROM categorie
SELECT * FROM categorie


La partie nom_table correspond au nom de la table à partir de laquelle on souhaite obtenir des données. Notez qu’il est possible de spécifier plusieurs tables, leurs noms devant dans ce cas être séparés par des virgules. Cependant, il faudra faire attention aux noms d’attributs : si plusieurs tables de la liste possèdent un attribut portant le même nom et que nous voulons les récupérer dans la même requête, lequel sera retourné ? Pour s’assurer d’obtenir le nom d’attribut voulu, on pourra faire précéder son nom du nom de la table et d’un point. De plus, on pourra renommer les attributs et les tables (le renommage n’est effectif que dans la requête, cela ne modifie pas la base de donnée), et le temps de la requête pour facilité l’écriture mais aussi pour différencier deux attributs. La requête suivante retourne les attributs « id » de la table categorie sous le nom idcategorie et ceux de la table logiciels sous le nom idlogiciels.

SELECT 
categorie.id AS idcategorie,
logiciels.id AS idlogiciels 
FROM categorie, logiciels

// on aurait aussi pu écrire 
SELECT 
c.id AS idcategorie, 
l.id AS idlogiciels 
FROM categorie AS c, logiciels AS l

Dans le cas où nous voulons toutes les occurrences de la table categorie possédant 10 comme valeur de leur attribut idcategorie, nous aurions pu écrire
SELECT * FROM categorie WHERE idcategorie=’10’


Dans tous les cas, MySql s’occupera de trouver la bonne valeur pour l’attribut id.
Page: (1) 2 »


Naviguer à travers les tutoriaux
tutorial précédent BDD MySQL Partie 2 – Les erreurs MySQL Comment créer des tables ? tutorial suivant
Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.
Auteur Conversation
Invité
Posté le: 5/1/2007 22:27  Mis à jour: 5/1/2007 22:27
 Re: Bdd MySQL Partie 1 : Récupérer des données
Il y avait 2 erreurs dans le script complet qui commençent à dater maintenant.

Voici le script complet (et corrigé):

<?
$serveur = "localhost";
$base= "mabase";
$pseudo = "root";
$pass = "mdp";

$connect = mysql_connect($serveur, $pseudo, $pass);
$requete = mysql_db_query($base,"SELECT * FROM logiciels WHERE idlogiciel=’10’",$connect);
while ($log = mysql_fetch_array ($requete))
{
echo "$log[title]";
}
?>
kjame
Posté le: 6/1/2007 13:39  Mis à jour: 6/1/2007 13:39
Webmestre
Inscrit le: 20/8/2005
De: Bordeaux
Envois: 1499
 Re: Bdd MySQL Partie 1 : Récupérer des données
Tout à fait.

Le code du script complet vient d'être modifié.
Merci