ANNEXE Mémo des fonctions mysql

publicité
BTS DSI
Développement WEB
DEVOIR SURVEILLE N : 2
EXERCICE I
Écrire une petite application en ligne permettant de saisir des nombres, puis de calculer le
résultat de différentes opérations sur ceux-ci. Pour cela, on écrira successivement :
● Un formulaire form.html, qui permet de saisir les nombres et l'opérateur (minimum, maximum
ou moyenne) ;
● Un script calcul.php, qui permet de calculer et d'afficher le résultat de l'opération définie dans
le formulaire précédent :
EXERCICE II
La base de données «gesnotes » utilisée dans cette partie est constituée pour le moment de
deux tables seulement la table etudiants et la table groupes dont la structure MySQL est
donnée ci-dessous.
Table etudiants
Champ
Id_etu
Id_groupe
nom_etu
date_naiss
sexe
Type
Int(10)
Int(10)
Varchar(50)
date
Enum(‘F’,’M’)
Attribut
unsigned
Extra
auto_increment
Type
Int(10)
Varchar(50)
Attribut
unsigned
Extra
auto_increment
Table groupes
Champ
Id_groupe
groupe
Question1
Dans cette première question, on va créer une petite application pour tester la connexion à la
base de données MySQL.
1. Créez un formulaire permettant de saisir le nom du serveur, le login, le mot de passe, le nom
de la base.
1/4
BTS DSI
Développement WEB
2. Sur validation de ce formulaire, exécutez un script TestConnect.php qui récupère les
données saisies par l'utilisateur, tente de se connecter à MySQL et affiche un message
indiquant si la connexion a échoué ou réussi.
3. Créer un fichier fonctions.php dans lequel vous écrivez une fonction connexion() qui recevra
comme paramètres les valeurs saisies par l’utilisateur et qui sera chargée de se connecter à la
base de données.
Question1:
Modification des données
1. Dans le fichier fonctions.php, écrire une fonction
insert_etud($idgroupe,$nom,$date,$sexe) qui permet d’inscrire un nouvel étudiant dans
la base de données.
2. Ecrire la page ajout.php qui affichera le formulaire d’ajout et qui traitera les données
saisies par l’utilisateur en faisant appel à la fonction insert_etud()
Question2: Affichage des données
1. Écrire un script afficher_tab_etu.php qui affiche toutes les données de la table etudiants
sous forme de tableau HTML (dans ce script faites appel à la fonction connexion()).
2. Modifier le script précédent pour permettre à l'utilisateur d'afficher uniquement les
étudiants correspondants au sexe qu'il aura choisi dans une liste déroulante.
3. Maintenant on désire afficher les noms des groupes disponibles depuis la table groupes
dans une liste déroulante écrire le script correspondant.
3. Compléter le script précédent pour afficher les étudiants par groupe en choisissant le
groupe dans la liste de sélection.
ANNEXE
Mémo des fonctions mysql:
int mysql_affected_rows([resource $idcom])
Retourne le nombre de lignes concernées par la dernière requête SQL INSERT,DELETE ou UPDATE envoyée au
serveur.
string mysql_client_encoding([resource $idcom])
Retourne le nom du jeu de caractères utilisé par le client MySQL pour la connexion en cours si elle n’est pas
précisée.
boolean mysql_close([resource $idcom])
Ferme la connexion MySQL dont l’identifiant est précisé ou la connexion en cours. Retourne TRUE si
l’opération a lieu et FALSE dans le cas contraire.
resource mysql_connect(string $host,string $user,string $pass)
Ouvre une connexion à un serveur MySQL identifié par $host pour le client $user et le mot de passe $pass.
Retourne un identifiant de connexion.
boolean mysql_data_seek(resource $result,int numéro_ligne)
Place le pointeur dans le résultat $result à la ligne indiquée et retourne TRUE si l’opération est réussie.
L’appel de la fonction mysql_fetch_row() retourne cette ligne.
string mysql_db_name(resource $result,int N)
Retourne le nom de la nième base figurant dans le résultat $result retourné par la fonction mysql_list_dbs().
int mysql_errno([resource $idcom])
Retourne le numéro de la dernière erreur survenue pour la connexion précisée ou celle qui est en cours si le
paramètre est omis.
string mysql_error([resource $idcom])
Retourne le dernier message d’erreur pour la connexion précisée ou celle qui est en cours si le paramètre est
2/4
BTS DSI
Développement WEB
omis.
string mysql_escape_string(string $ch)
Protège les caractères spéciaux de la chaîne $ch (sauf % et _) et retourne la chaîne protégée.
array mysql_fetch_array(resource $result[,int typetab])
Retourne la ligne en cours du résultat dans un tableau. Chaque appel de la fonction retourne la ligne suivante
ou FALSE s’il n’y a plus de ligne. Le paramètre typetab précise le type du tableau retourné: associatif avec la
valeur MYSQL_ASSOC, indicé avec la valeur MYSQL_NUM, les deux avec MYSQL_BOTH (utilise plus de
mémoire).
array mysql_fetch_assoc(resource $result)
Identique à la fonction mysql_fetch_array() utilisée avec le paramètre MYSQL_ASSOC.
object mysql_fetch_field(resource $result [,int numero_colonne])
Retourne un objet dont les propriétés contiennent des informations sur les données du résultat. Ces
propriétés sont les suivantes :
name : nom de la colonne.
table : nom de la table contenant la colonne.
max_length : taille de la colonne de type VARCHAR.
not_null : vaut 1 si la colonne a cette option.
primary_key : vaut 1 si la colonne est une clé primaire.
unique_key : vaut 1 si la colonne a l’option UNIQUE.
multiple_key : vaut 1 si la colonne est une clé non unique.
numeric : vaut 1 si la colonne est de type numérique.
blob : vaut 1 si la colonne est de type BLOB.
type : type de la colonne.
unsigned : vaut 1 si la colonne a l’option UNSIGNED.
zerofill : vaut 1 si la colonne a l’option ZEROFILL (pour les types numériques).
array mysql_fetch_lengths(resource $result)
Retourne la taille de chaque colonne du résultat.
object mysql_fetch_object(resource $result)
Retourne une ligne du résultat dans un objet dont les propr iétés ont pour nom celui des colonnes et qui
contiennent les valeurs de chaque colonne.
array mysql_fetch_row(resource $result)
Retourne un tableau indicé contenant la ligne en cours du résultat précisé et FALSE s’il n’y a plus de ligne.
string mysql_field_flags(resource $result, int numero_colonne)
Retourne les options de la colonne précisée du résultat. Les valeurs possibles sont : 'not_null',
'primary_key','unique_key', 'multiple_key', 'blob', 'unsigned', 'zerofill', 'binary', 'enum', 'auto_increment' et
'timestamp'. Voir aussi la fonction mysql_fetch_field().
int mysql_field_len(resource $result, int N)
Retourne la taille de la colonne N du résultat.
string mysql_field_name(resource $result, int N)
Retourne le nom de la nième colonne du résultat.
int mysql_field_seek(resource $result, int numéro_colonne)
Place le pointeur de résultat sur la nième colonne du résultat. L’appel de la fonction mysql_fetch_field()
retourne la valeur du champ.
string mysql_field_table(resource $result,int N)
Retourne le nom de la table qui contient la nième colonne du résultat.
string mysql_field_type((resource $result, int N)
Retourne le type de la nième colonne du résultat.
3/4
BTS DSI
Développement WEB
boolean mysql_free_result(resource $result)
Libère la mémoire utilisée par le résultat et retour ne TRUE en cas de réussite et FALSE dans le cas contraire.
int mysql_insert_id(resource $idcom)
Retourne la dernière valeur entière insérée dans une colonne ayant l’option AUTO_INCREMENT.
resource mysql_list_dbs(resource $idcom)
Retourne un identifiant de résultat contenant la liste des bases de données du ser veur MySQL.
resource mysql_list_fields(string base,string table[, resource $idcom])
Retourne un identifiant de résultat contenant la liste des colonnes d’une table donnée située dans une base
précisée.
resource mysql_list_tables(string base[, resource $idcom])
Retourne un identifiant de résultat contenant la liste des tables d’une base.
int mysql_num_fields(resource $result)
Retourne le nombre de colonnes présentes dans un résultat.
nt mysql_num_rows(resource $result)
Retourne le nombre de lignes d’un résultat.
resource mysql_pconnect(string $host,string $user,string $pass)
Identique à la fonction mysql_connect() mais crée une connexion permanente.
boolean mysql_ping([resource $idcom])
Vérifie si la connexion est toujours active et effectue une reconnexion dans le cas contraire. Retourne TRUE si
la connexion est effectuée et FALSE dans le cas contraire.
resource mysql_query(string $requete[,resource $idcom[,int mode]])
Envoie une requête SQL au serveur et retourne un identifiant de résultat.
string mysql_real_escape_string(string $chaine [, resource $idcom])
Échappe la chaîne précisée afin de l’inclure dans une requête SQL.
divers mysql_result( resource $result,int N [,divers M])
Retourne la valeur du champ de la colonne M de la ligne N du résultat.
boolean mysql_select_db(string base[,resource $idcom])
Choisit la base sur laquelle vont s’effectuer les opérations suivantes. Retourne TRUE si la base existe et FALSE
dans le cas contraire.
string mysql_tablename( resource $result,int N)
Utilise l’identifiant de résultat retourné par la fonction mysql_list_tables() et retourne le nom de la nième
table de la base.
resource mysql_unbuffered_query(string $requete[,resource $idcom])
Envoie une requête au serveur mais ne met pas le résultat en buffer. Le résultat doit être utilisé avant l’envoi
d’une autre requête.
Ordres SQL
– INSERT INTO Table VALUES (valeur1,valeur2,valeur3)
– INSERT INTO Table (Colonne1,Colonne2) VALUES (valeur1,valeur2)
– SELECT _ FROM Table WHERE Condition ORDER BY Colonne
– SELECT Colonne1,Colonne2 FROM Table
– DELETE FROM Table WHERE Condition
– UPDATE Table SET Colonne=valeur WHERE Condition
4/4
Téléchargement