Mysql tout expliqué

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

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.