Mysql tout expliqué

Soyez le premier à donner votre avis sur cette source.

Vue 14 762 fois - Téléchargée 1 413 fois

Description

Bon j'ai cherché assez longtemps comment utiliser MySQL et je n'y arrivais pas simplement en regardant des exemples sur internet...

Finalement, PsycoMaxter m'a tout expliqué clairement (merci!!)

Voici ce qu'il m'a appris :p

Source / Exemple :


Commencez par créer une base dans PhpMyAdmin.
Allez dans PhpMyAdmin (il vient avec EasyPHP) et faites "Créer une base de donnée".
Indiquez le nom, ex: "MaBase" et cliquez sur créer.

PhpMyAdmin affiche maintenant la structure de la base.
Pour l'exemple, créez la table suivante: "tavletest", Champs: 4

Il faut maintenant définir les champs de la table.
Champ #1: 
 Champ: id
 Type: INT   (il faut mettre INT pour le ID, vu que c'est un nombre)
 Extra: Auto_Increment (Ceci indique que l'ID est changé à chaque fois qu'il y a un nouvel enregisatrement dans cette table)
 Primaire: COCHER! (Ceci indique que l'ID a priorité sur les autres champs)

Champ #2:
 Champ: nom
 Type: TEXT

Champ #3:
 Champ: email
 Type: TEXT

Champ #4:
 Champ: date
 Type: DATE

Voilà, les champs sont créés. Faites maintenant "Sauvegarder".
Cliquez maintenant sur "Insérer".
Remplissez les champs:
ID => Touchez pas
nom => Votre nom
email => Votre e-mail
date => effacez ce qui est écrit et sélectionnez CURDATE dans la liste du milieu

Faites "Exécuter".

La suite montre maintenant comment "voir" les enregistrements dans une page en PHP.

Premièrement, il faut vous connecter à la base.
Créez un fichier "sql.php" qui contiendra les informations de connection à la base. (Il est plus prudent de mettre ces infos dans un fichier à part. Mieux: placez le fichier dans un dossier sécurisé par ".htaccess")

// SQL.PHP 
<?
$host="localhost";
$user="root";
$pass="";
$base="MaBase";
?>

Dans le fichier PHP (ex.: index.php) que vous utilisez, ajoutez ces lignes (au début des instructions MySQL):

<?include("sql.php");//Pour charger les infos de connection?>
<?
$connect=mysql_connect($host,$user,$pass);
mysql_select_db($base, $connect);
//Pour se connecter
?>

Vous êtes maintenant connectés à la base SQL "MaBase".
Voici donc comment afficher des items de la base:

<?
$result=mysql_query("SELECT * FROM tabletest")
//Ceci indique à MySQL de chercher tout (*) ce qui est dans TableTest (from ...)
?>

Maintenant, mettons les résultats de la recherche de MySQL dans un Array:
<?$row = mysql_fetch_array($result);?>
Vous pouvez maintenant faire (exemple):
<?echo $row["nom"];> pour afficher le nom.

Nous allons plutôt afficher TOUT les enregistrements de la table (utile quans il y en aura plus qu'un).
Faites donc:
<?
while($row=mysql_fetch_array($result)){
 echo "Enregistrement #" . $row["id"] . " : ";
 echo $row["nom"] ." > ";
 echo $row["email"] ." > ";
 echo $row["date"] . "<br>";
}
?>

Ceci affichera donc tous les valeurs de tous les enregistrements de la table.

Pour afficher les valeurs selon la DATE:
<?
$result=mysql_query("SELECT * FROM tabletest ORDER by date ASC, nom ASC")
//Ceci indique à MySQL de trier les valeurs par date. Si enregistrements ont la même date, il les triera par nom.
//Note: ASC = Ascendant (Croissant)
//        DESC = Descendant (Décroissant)
?>

Pour afficher seulement les valeurs concernant le nom "Nox", remplacer la déclaration ci-haute par:
<?
$result=mysql_query("SELECT * FROM tabletest WHERE nom = 'Nox'");?>
?>

le "WHERE nom = 'Nox'" indique à MySQL de retenir les valeurs seulement quand le nom est "Nox".

Nous allons maintenant ajouter des enregistrements dans la table.
Cette étape est relativement simple:

<?
mysql_query("INSERT INTO tabletest VALUES ('', 'Nox', 'nox87@mail.com', CURDATE( )");
?>

Les valeurs sont enregistrés dans l'ordre (id, nom, email, date)

Maintenant, voici comment supprimer un enregistrement:
<?
mysql_query("DELETE * FROM tabletest WHERE id = '1'");
?>
Ceci supprimera l'enregistrement qu a un ID de 1

Pour TOUT supprimer dans la table:
<?
mysql_query("DELETE * FROM tabletest");
?>

Pour supprimer les 3 premiers entregistrements:
<?
mysql_query("DELETE * FROM tabletest LIMIT 3");
?>

Si vous voulez MODIFIER une valeur d'un enregistrement:
<?
mysql_query ("UPDATE tabletest SET nom = 'Nox2' WHERE nom = 'Nox'");
?>
Remplace par "Nox2" l'enregistrement qui a le nom "Nox"

Bon vous voyez pas mal le principe...
Quand vous avez terminé d'utiliser MySQL dans votre page PHP, inscrivez la ligne suivante:
<?mysql_close($connect);?>

Dans le ZIP, vous avez un exemple qui démontre tout ce qui est écrit ci-haut. (Sauf la création de la base)

Conclusion :


Bon j'espère que ça va en débloquer quelques uns :p
Vive MySQL, quans on le maitrise, on peut plus s'en passer!

Nox

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
25
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
8 septembre 2005

parfais ,, pour moi en tout cas !!! ;)
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
16
Pour une mise en application des connaissances, voir
http://www.siteduzero.com/php/mysql.php
et pages suivantes... C'est très bien fait aussi
Messages postés
1
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
13 juin 2004

Bravo pour cette explication très claire et surtout extremement utile.
(mérite le 10/10 grâce à la clareté des explications et des exemples - et le temps passé aussi ! -)
Mais, cependant, on peut retrouver ce tuto dans d'autres sites encore mieux faits du type http://www.phpguide.net que j'utilise très frequemment pour ce genre de besoins.
Encore bravo NOX !!
Messages postés
34
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
5 mai 2004

J'ai une petite question : est-ce qu'on prendre une variable pour chaque user sans se faire à faire une table à plusieurs centaines de champs ? merci bcp
Pingouin
@++

ps : bravo pr ta source qui ma bdp aidé
10/10
Messages postés
366
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
20 février 2007

Heu......., J'ai oublier, je t'ai mis 10/10
Afficher les 26 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.