le php est un language qui va s'executer sur le serveur, c'est à dire que tu peux mettre toutes les infos que tu veux dans des balises <?php et ?> (au passage, je te conseille de bien mettre <?php, car même si <? suffit, c'est une configuration du serveur qui autorise ce type de balise. si un jour tu changes de serveur et qu'il ne l'accepte plus, t'aura l'air con...), aucun utilisateur ne pourra aller lire ce qu'il s'y trouve. quand un utilisateur va vouloir ouvrir une page .php, le serveur va scaner toutes les balises <?php et ?> pour recréer dynamiquement une page, en fonction de ton code php la seule chose qui sera copiée dans le code html de la page (et donc visible par l'utilisateur), c'est ce que tu renverra avec la commande echo "mon texte"; il faut d'ailleurs savoir que les chaines de caractères peuvent être encadrées par 2 types de symboles: " et ' , le premier étant pour effectuer des opérations sur la chaine avant de l'afficher ou de l'assigner à une variable (par exemple: $var = "Nous sommes le: $date" remplacera $date par sa valeur, avant d'assigner la totalité du texte à $var ), le second étant pour afficher totalement ce qui est contenu dans les symboles ' ', sans aucune opération (par exemple, $var = 'Nous sommes le: $date' affichera le texte exactement tel quel, sans remplacer $date!)
il faut également savoir que quelques caractères ont besoin d'un "caractère d'échapement" qui est le . ça peut très bien se comprendre sur des chaines comme suit:
echo 'j'habite à Voiron';
si tu l'écris comme au dessus, tu verras que le ' après le j "ferme" la chaine de caractère, alors que toi tu voudrais bien l'afficher dans ton code html. il faut donc utiliser :
echo 'j''habite à Voiron';
ce qui affichera réellement j'habite à Voiron
Mysql est une base de données ultra simpliste, qui ne connait que quelques commandes simples. ça permet une très bonne rapidité, et les commandes présentes permettent de faire à peu près ce qu'on veut.
la base mysql c'est très simple à utiliser, pour peu que tu ai accès à PhpMyAdmin sur ton hébergeur. c'est un programme de gestion de la base de données vraiment très bien fouttu, tu peux presque tout faire avec.
quelques mots de vocabulaire, pour qu'on se comprenne bien (screens de PhpMyAdmin):
voici où sont indiquées les noms des tables:
voila la structure de la base de données:
il faudra donc commencer par créer une base de donnée, en faisant attention à quelques optimisations possibles. sur une toute petite base, l'optimisation n'est pas franchement à prendre en compte, mais si tu comptes avoir bcp de données, tu peux voir une sacrée différence en ne changeant qu'un paramètres de ta base
tutorial de création de la base
tu verras donc tous les types de champ que tu peux avoir, avec leurs limites et leur rapidité.
je te conseillerais de mettre un champ 'id' dans chaque table, avec les paramètres TINYINT, UNSIGNED, et AUTO_INCREMENT. TINYINT sont des chiffres allant de 0 à 255 en non signé (c'est à dire qu'on ne peut pas avoir de chiffres négatifs), UNSIGNED indique qu'on ne veux pas avoir de chiffres négatifs (dans le cas contraire, TINYINT ira de -128 à +127). AUTO_INCREMENT veut dire qu'à chaque fois que tu ajoutes une ligne dans ta table, ce chiffre sera automatiquement généré par la base de données. si par exemple tu as 3 lignes, avec id=1, id=2 et id=4, tu ajoutes une ligne, id sera = 5 sans rien que tu touches ce champ te permettra de lire tes lignes dans un ordre chronologique avec php
une fois ta base crée, tu dois faire une page .php pour pouvoir la lire il faut connaitre quelques commandes php, mais rien de bien sorcier
mysql_connect -> pour se connecter à la base, obligatoire avant toute opération exemple: mysql_connect("localhost", "login_compte", "pass_compte"); avec le premier paramètre = localhost (99% du temps, c'est très rare que le serveur change ça), login_compte = le login de ton accès à la base (99% du temps le login de ton accès ftp), pass_compte = le password de l'accès à la base (99% du temp le pass de l'accès ftp).
mysql_select_db -> utile uniquement pour les hébergeurs qui te proposent la création de plusieurs bases SQL sur le même compte, souvent les hébergeurs payants. free n'en autorise qu'une seule, donc cette fonction n'est pas utile
mysql_query -> c'est ici que tu vas envoyer des commandes à ta base sql, qui te répondra comme ceci: $resultat = mysql_query('ma commande'); donc dans la variable $resultat.
mysql_result -> permet d'utiliser les résultats de mysql_query
mysq_num_rows -> permet de savoir combien de lignes sont renvoyées par mysql_query
mysql_close -> permet de déconnecter de la base, pratiquement inutile sachant que si tu l'a oublié à la fin d'une page, il sera automatiquement généré par le serveur. ça peut éventuellement être utilisé pour déconnecter de la base au milieu de la page si tu ne t'en sert plus après, m'enfin bon... je le met par soucis de précision du code plus que d'utilité on va dire
Code : Tout sélectionner
<?php
mysql_connect('localhost', 'test', 'pass');
$resultat = mysql_query('SELECT * FROM admin_connect ORDER BY id');
$compteur = mysql_result($resultat, 0, 'login');
echo $compteur;
mysql_close();
?>
- connection à la base avec mysql_connect
- recherche des informations de la table admin_connect:
SELECT * -> prend tous les champs
FROM admin_connect -> de la table admin_connect
ORDER BY id -> permet de classer chronologiquement les données en fonction du champ id
- extraction d'infos avec mysql_result:
$resultat -> parmis toutes les informations de la table, reçues avec mysql_query
0 -> numéro de la ligne voulue. les lignes commencent à la ligne 0 et finissent par mysql_num_rows($resultat)
'login' -> nom du champ d'où l'information sera tirée.
ici, echo affichera test, puisque c'est la ligne 0 du champ login tu vois donc bien ici que le champ id n'est absolument pas le numéro de la ligne, il ne faut pas confondre. les numéros de lignes se suivent (de 0 à mysql_num_rows($resultat) donc), alors que le champ id peut très bien avoir des "trous". imagine que tu fasses 3 champs, id=1, id=2, id=3. ensuite tu delete le champ 2, ça te donne 2 lignes avec id=1 et id=3. tu en ajoutes une, ça te fera 3 lignes, avec id=1, id=3 et id=4 ça veut dire que l'AUTO_INCREMENT ne comble pas les "trous", mais incrémente bien à partir du plus haut chiffre
question d'optimisation, on aurait pu faire comme ceci pour gagner en rapidité de lecture:
Code : Tout sélectionner
<?php
mysql_connect('localhost', 'test', 'pass');
$resultat = mysql_query('SELECT login FROM admin_connect ORDER BY id');
$compteur = mysql_result($resultat, 0, 'login');
echo $compteur;
mysql_close();
?>
PHP France, surement le meilleur site que je connaisse sur le php. il n'est pas très complet, mais toutes ses aides sont très bien expliquées
http://www.phpfrance.com/
PHP Débutant, j'aime pas du tout leur site (explications trop complexe pour des choses simples), mais leur forum est très très actif. n'oublie surtout pas de dire bonjour avant de poser ta question, parceque c'est aussi de vraies têtes de chiens qui s'emballent à la moindre erreur... très chiant, mais permet d'avoir des infos rapidement
http://phpdebutant.org/
Nexen, qui contient une section bouts de code grandiose, et surtout toute la doc php en ligne, avec des liens vers des exemples bien précis. vraiment génial, à utiliser le plus souvent possible
http://www.nexen.net/
Google, ça peut paraitre très con, mais si tu connais une commande mais pas sa syntaxe (paramètres demandés, types des paramètres, etc), tu peux très bien taper le nom de ta commande dans google, et juste en regardant la description des sites trouvés, la plupart du temps tu auras ta réponse
http://www.google.com
EasyPHP, permet d'installer sur ton pc sans risque tout ce qu'il te faut pour tester en local le php et les bases sql, bcp plus pratique que d'uploader chaque fois ta page sur un serveur, puis de l'ouvrir pour voir si ta modif est bonne. à posséder absolument
http://www.easyphp.org/
WebExpert, programme pour créer facilement ses pages web. très simple d'utilisation et ultra puissant (tous les évènements sont recensés, en 1 click tu l'intègres dans ton code, il y a des docs, tu peux intégrer des bouts de codes genre tableau en 2 sec, etc), il permet également la visualisation de sa page en changeant juste d'onglet, donc très rapide et pratique il n'est pas du type what you see is what you get (en gros, tu poses un boutton et il te fait le code tout seul), c'est du code à la main, avec quelques aides quand même, rassure toi
http://software.visicommedia.com/fr/products/webexpert/