En PHP - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

En PHP

Description:

Connexion serveur: Instruction lien = mysql_connect(machine, base, ... sont dans un tableau uniquement atteignable par nom du champ (tableau associatif) ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 11
Provided by: latlcu
Category:
Tags: php | associatif

less

Transcript and Presenter's Notes

Title: En PHP


1
En PHP
  • Librairie MySQL. Une librairie MySQLi est
    disponible à titre expérimental
  • Connexion serveur Instruction lien
    mysql_connect(machine, base, password)
  • db mysql_connect('localhost','ntic',
  • 'dummy')
  • Connexion base mysql_select_db(base, lien)
  • mysql_select_db('ntic',db) ou mysql_select_db('nt
    ic')

2
Faire une requête
  • resource mysql_query(requete)
  • Le résultat est stocké dans un tableau de
    résultat
  • var mysql_result(resource, no_ligne,
    nomChamp) (méthode seulement pour résultat
    court)
  • ligne mysql_fetch_array(resource)
  • les résultats sont dans un tableau, appelable
    soit par indice, soit par nom du champ
  • while(row mysql_fetch_array(result) printf("ltp
    gts, dlt/pgt", row"name", row2)

3
Autre moyen d'avoir le résultat
  • ligne mysql_fetch_assoc(resource) ? les
    résultats sont dans un tableau uniquement
    atteignable par nom du champ (tableau associatif)
  • ligne mysql_fetch_row(resource) ? tableau
    uniquement par indice numérique
  • ligne mysql_fetch_object(resource) ?résultat
    dans un objet ligne-gtnom, etc.

4
Instructions d'erreur
  • mysql_errno() donne un numéro d'erreur
  • mysql_error() donne un message
  • utilisable lors de toutes les commandes
  • res mysql_query(sql) or die('ltpgterreur
    requête ' .sql. ' ('. mysql_errno() . ') ' .
    mysql_error())

5
Autres instructions
  • num mysql_insert_id(base) ? retourne le dernier
    identifiant généré par une insertion d'un champ
    avec valeur de type auto_increment. A utiliser
    juste après une requête INSERT
  • mysql_close(base) ? ferme la liaison avec le
    serveur (toute fin script)

6
Exemple concret
  • Page de liens d'un site
  • Classement par rubriques
  • Classement alphabétique par titre de lien
  • Mise à jour facile, même pour quelqu'un qui ne
    s'y connaît pas
  • La mise en page ne varie pas
  • L'utilisateur peut n'afficher que la rubrique qui
    l'intéresse
  • 2 rubriques possibles pour un lien
  • http//129.194.16.6/ntic/databases/liens.php

7
La structure
Table liens
Problème relations par nombres, pas gérables par
PhpMyAdmin
id int 10 link varchar 255 titre varchar
100 comment text rubrique1 tinyint
4 (obligatoire) rubrique2 tinyint 4
Table rubrique_lien
id int 10 titre varchar 100
8
Administration
  • L'utilisateur doit pouvoir agir le plus
    simplement possible ? combobox
  • Soit depuis une page de liens, soit depuis la
    page d'administration elle-même
  • Une page suffit pour toutes les opérations
  • Des fonctions génèrent les champs des combobox,
    éventuellement en fonction du champ à mettre à
    jour

9
Affichage des entrées d'admin
  • La sélection de la rubrique principale se fait
    par le "tableau de bord" des pages (si possible
    page protégée par .htaccess
  • Autre solution tous les liens ensemble,
    classement et affichage similaire à la page
    d'affichage des utilisateurs
  • Liens générés pour update et delete ? envoi des
    paramètres en méthode get

10
Technique
  • Partie mise à jour
  • Si on a utilisé le bouton submit (paramètre
    submit) ? on insère/modifie
  • Si le paramètre id a été transmis ? UPDATE
  • Sinon ? INSERT
  • Si on a paramètre delete ? DELETE
  • Partie remplissage formulaire
  • Si le paramètre id est présent
  • Si delete est présent, formulaire à 0 (nouvelle
    entrée)
  • Sinon requête SELECT et remplissage du formulaire
  • Sinon, le formulaire est mis à 0 (nouvelle entrée)
Write a Comment
User Comments (0)
About PowerShow.com