Formation PHP/ MYSQL Deuxième PARTIE 1/12
II MYSQL (PHPmyAdmin) Création d un annuaire avec une table MySQL dans phpmyadmin. Voici l écran de PHPmyAdmin lorsque vous vous y connectez. 2/12
1) Création d une table Compléter les champs pour demander la création d une table. Voici l écran qui permet de donner le nom de vos champs ainsi que leurs caractéristiques. (Voir 5)) 3/12
Remplissez les champs comme ceci afin de créer un annuaire. Entouré, vous pouvez voir la syntaxe SQL. 4/12
2) Ajout d un enregistrement Vous pouvez Afficher, Sélectionner, Insérer ou Vider votre table. Notez bien que la syntaxe SQL s affiche sur votre écran!! Remplissez le formulaire pour entrer les données dans la table. Laissez la ligne id (auto incrémenté) libre : SQL s en chargera tout seul comme un grand 5/12
Voici une syntaxe SQL concernant l ajout d enregistrement dans une table. 3) Modification de l enregistrement Voici l écran classique qui permet de visualiser les enregistrements. 6/12
Vous obtenez le même écran que lors de l enregistrement. Ce qui vous permet d effectuer toutes les modifications nécessaires! Notez le 1 dans id qui a été ajouté tout seul. 4) Suppression d un enregistrement Pour effacer un enregistrement 7/12
A vous de choisir 5) Les types de champs Nous vous conseillons quatre types de champs pour commencer. tinyint : petit nombre entier (de 1à 127!!). int : nombre entier. varchar (32) : chaîne de caractères limitée à 32 caractères. text : pour les champs composé uniquement de texte. 8/12
III MYSQL avec PHP 1) Connexion à la base de donnée mysql_connect("serveur-sql","login","pass"); mysql_select_db("kpsformation");... vos requêtes... mysql_close(); Si vous mettez un @ devant mysql_connect ou tout autre commande SQL, cela vous masquera les erreurs. Pratique afin que vos visiteurs de puisse par avoir des informations lorsque la base de données est inaccessible 2) Première requête avec votre base de donnée mysql_connect("$serveur-sql","$login","$pass"); //Connexion à la base de données. mysql_select_db("kpsformation"); //Sélection de la base de données kpsformation $query="select * FROM contacts"; //Requête mysql $res=mysql_query($query); //Exécution de la requête mysql while($row=mysql_fetch_row($res) //Stock au fureta mesure chaque // ligne dans $row { $id=$row[0]; // Les résultats de la requête SQL sont $pseudo=$row[1]; // enregistrés dans les variables du type $row[] $nom=$row[2]; // Ainsi on attribue les bonnes valeurs $prenom=$row[3]; // à nos propres variables. $email=$row[4]; echo("l email de $prenom ($pseudo) $nom est : $email"); } mysql_free_result($res); // Libération de la mémoire mysql_close(); // Fermeture de la connexion Conseil : utilisez un require() pour les deux premières lignes et n oubliez pas de fermer votre connexion même si PHP le fait automatiquement à la fin de votre script. 3) Les fonctions SQL a. SELECT Permet de sélectionner des données dans une table. SELECT * FROM $table Vous pouvez remplacer * par les champs de votre table Mais * permet de sélectionner tout les champs de la table concernée. SELECT id,pseudo FROM $table b. INSERT L ajout d enregistrement est très simple : INSERT INTO $table (nom, pseudo) VALUES ('$nom', '$pseudo ) 9/12
c. UPDATE Mettre a jour un champ : UPDATE $table set nom='$nouveau_nom' where id='$id' [Voir les conditions where plus bas!!] d. DELETE Supprimer un enregistrement : DELETE FROM $table where id='$id' [Voir les conditions where plus bas!!] 4) Les conditions a. WHERE i. =' ' Si vous avez besoin de sélectionner des enregistrements bien précis : SELECT * FROM $table WHERE id='$valeur' Vous pouvez bien sur mettre plusieurs conditions : SELECT * FROM $table WHERE id='$valeur_id_demande' AND $nom='$valeur_nom_demande' Vous pouvez aussi utiliser OR à la place de AND. Et remplacer le égale = par!= pour différent. ii. LIKE '%%' Si vous cherchez tous les enregistrements qui contiennent une valeur utilisez tout simplement : %% SELECT * FROM $table WHERE id like '%$valeur_id_demande%' b. LIMITE Limite permet de sélectionner un nombre de champ bien défini. SELECT * FROM $table LIMIT 0,30 Sélectionnera les 30 premiers enregistrements. 10/12
c. ORDER BY Vous pouvez également classer les résultats par ordre croissant ou décroissant : SELECT * FROM $table ORDER BY id ASC (Ordre croissant) SELECT * FROM $table ORDER BY id DESC (Ordre décroissant) N hésitez pas à combiner toutes les conditions pour obtenir les résultats que vous souhaitez. 11/12
Si vous avez des remarques ou des suggestions à faire, n'hésitez pas à nous contacter par mail à kps@esiea.fr Vous avez le planning des formations et plein d'informations pratiques sur tout ce que nous organisons dans l'année, ainsi qu'un forum, des news sur notre site internet www.kp-systems.com ou kps.esiea.fr Nous vous rappelons que pour assister à nos formations, le mieux est de nous envoyer un mail ou de venir vous inscrire directement à notre local. L'équipe de Kernel Panic Systems vous remercie. Fin 12/12