begin process at 2010 03 21 08:36:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

SQL

 > MYSQL TOUT EXPLIQUÉ

MYSQL TOUT EXPLIQUÉ


 Information sur la source

Note :
9,38 / 10 - par 26 personnes
9,38 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :SQL Niveau :Initié Date de création :19/05/2003 Date de mise à jour :19/05/2003 06:10:37 Vu / téléchargé :11 982 / 1 128

Auteur : Nox

Ecrire un message privé
Site perso
Commentaire sur cette source (26)
Ajouter un commentaire et/ou une note

 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

  • 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)
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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip HOOVERKILLER 2 -&GT; BLOQUER LES ASPIRATEURS DE SITES
BLOQUER LES ASPIRATEURS DE SITES

 Sources de la même categorie

Source avec Zip Source avec une capture CRÉER ET ETABLIR UNE PAGE DE MAINTENANCE POUR X HEURES par popolino0
Source avec Zip Source avec une capture ENREGISTRER ET AFFICHER UN BLOB (MYSQL) par jmpicot
SEARCH QUERY COMPOSER par Centauriel
COMPTEUR DE VISITEUR : PHP ET MYSQL par didguess
Source avec Zip SQLAL : CLASSE SQL POUR MYSQL, MYSQLI, SQLITE, SQL SERVER, E... par Boris090

Commentaires et avis

Commentaire de Tortuegeniale le 19/05/2003 08:49:11

euh niveau 2 c peut etre un peu élevé nan ? parceque la c des bases de chez base lol

Commentaire de revinc le 19/05/2003 13:25:58

remarques :
$row["date"]  peut être remplcé par $row[date]
et mysql_query("INSERT INTO x(x, y) VALUES('a', 'b')");
par mysql_query("INSERT INTO x SET x = 'a', y = 'b'");

++

Commentaire de pyroflo le 19/05/2003 15:10:14

C'est bien ! Même quand on le sait déjà ça fait que du bien de le relire comme ça on oublie plus jamais ;)

Commentaire de Magicking le 19/05/2003 20:06:37

Creez une base avec phpmyadmin sa fait pas serieux pour qqun qui eut expliquer tout Mysql etant donne que c'est un language lui aussi...
Sinon pour creez une base c'est
CREATE DATABASE IF NOT EXISTS tabase
Avant d'avoir choisi dans un mysql_select_db
sinon sa risque de planter

Commentaire de Nox le 20/05/2003 05:07:18

Bon je sais que ya bien des choses qu'on peut faire ak MySQL... Je débute la!

Pour ce qui est du niveau 2 .. j'estime que le PHP est du niveau 1, et après on apprend le SQL.

J'ai mi ce code pour quelqu'un qui n'a JAMAIS fait de SQL et qui veut avoir une base pour commencer...

J'ai passé un bout de temps à écrire ce texte, alors 1/10 sa me fait CHIER !

Commentaire de disactis le 20/05/2003 07:55:53

pour moi, c super utile car g jamé rien compris a SQL, alors merci Now =o) 10/10

Commentaire de Tortuegeniale le 20/05/2003 23:42:18

clair 1/10 c réservé au source genre "comment faire un include" et encore 1 pour le fait de poster pas pour interet du code lol

Pour le niveau moi perso je trouve que :
- 1 On apprend php(fonctions ...) et mysql et on met en oeuvre
- 2 On utilise et on fait des ptit truc complexe genre forum, livre d'or ...
- 3 On fait des grosses applis bien coder, completes avec pleins d'options, optimisées, ki tourne nickel

Enfin ça engage que moi lol

Commentaire de misterbux le 22/05/2003 20:19:48

Merci NOX pour cette petite aide, ça m'a pal mal éclairé pour le petit débutant que je suis.

10/10

Commentaire de oOoJasonoOo le 23/05/2003 13:17:03

ok exellent pour un pti débutant comme moi now jmé 10/10 continue c bien de faires des exemples simples pour qqun ki a jms touché a mysql

Commentaire de nahonr le 05/06/2003 09:13:56

Merci a toi Nox pour ce petit tut c'est sympa. faut pas se laisser démonter par les cracks qui ont oublié qu'ils sont passés par là aussi.

A+

Commentaire de titemarie le 17/07/2003 16:02:51

Merci nox tu as changé ma vie avec ce code. Et oui, pour moi webmastrice en herbe ça a été très précieux. Et effectivement tout le monde est passé par cette étape alors n'oubliez pas vos heures de galère devant l'écran !!! merci

Commentaire de bricethenetman le 25/07/2003 22:02:27

Moi g déja appris ca en parti grace à Tortue Géniale mais le fait de revoir un ptit tut comme celui ci me permet de ne pas oublier. Et puis lorsque g commencé PHP c'est des tut comme ca ke j'aurais voulu trouver. Donc 10/10

Commentaire de 751 le 01/09/2003 16:40:00

c'est trés bien 10/10 je me avec ce code m'a évité des heures de galères.

Commentaire de azoo le 23/09/2003 13:20:54

C'est super 10/10

Commentaire de Pwillou le 08/11/2003 19:00:57

C'est exactement ce qu'il me fallait, je ne parvenais pas à afficher le contenu d'une base. Ton tuto m'a débloqué. Bref maintenant j'arrive à afficher quelque chose, y'a plus qu'a peaufiner ^^

Merci !
PS: je ne mettrais p'tet pas 10 car on peut toujours mieux faire, surtout la rédac' lol. Cela dit, c'est lisible ;-)

Commentaire de vbguigui le 17/01/2004 19:23:49

C'est très bien tout ca, mais, cette rreur c'est quoi? Que'est-ce que je dois faire? Quand jouvre la page index il vient ceci: Parse error: parse error in /data/members/free/multimania/fr/l/e/s/lesiteageofcomputers/htdocs/test.php on line 13

(Je suis inscrit sur multimania)
Merci pour votre aide que j'attends

Commentaire de ledev le 01/02/2004 17:56:35

C'est super, sa va m'être utile, mais je bloque:
En faite, je voudrai que si l'enregistrement dont le champ ID=x existe, il le mettent à jour, sinon qu'il le crée, comment faire?
Merci

10/10

Commentaire de pcman5 le 17/03/2004 17:58:51

Tout simplement bravo :D

Mé j'ai quand meme un probleme pour afficher les enregistrements:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/fireview/www/setox/ADMIN/ad/mysql/Afficher les enregistrements.php on line 23


PCMAN5 :D

Commentaire de itris le 19/03/2004 15:08:47

Super petit Tuto bien pratique pour comprendre les bases des query !

Dommage certaines choses ne fonctionne pas avec la nouvelle config de EasyPHP1.7.

Je ne rentrerait pas dans la polémique des ex-débutant devenu super cracks qui dénigre leur propre passé !

;-)

10/10 pour la motivation !

Commentaire de eka808 le 15/04/2004 17:37:48

Super ton tutoriel c plus clair k dans mon bouquin lol ("php 4 développer un site web interactif" aux éditions eni, super bouquin au passage sauf pour le mysql lol)

Commentaire de thomvaill le 24/04/2004 14:01:59

Merci beaucoups NOX !!!
Je conaisai rien du tout en MySQL, et la......... J'ai tout compris !!!!

Avec tes explications, je suis en train de faire un livre d'or en php/MySQL !!!!


MERCI BEAUCOUP !!!!!!!!!!!

Commentaire de thomvaill le 24/04/2004 14:02:52

Heu......., J'ai oublier, je t'ai mis 10/10

Commentaire de mnjagg le 10/05/2004 17:28:18

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

Commentaire de simarin le 13/06/2004 15:44:40

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 !!

Commentaire de grandvizir le 09/04/2005 12:02:56

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

Commentaire de tombondoff le 17/04/2005 15:54:01

parfais ,, pour moi en tout cas !!! ;)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales