Base de Données – Mini projet PHP/MySQL

Préambule : Mini projet à réaliser en binôme (ou seul) et à présenter lors des TPs (progression). Lors de la dernière séance de TP, vous présenterez votre application finale.
Sujet
Sur la base du modèle relationnel du TP4 (gestion simplifiée d’une bibliothèque) il s’agit d’écrire une application PHP/MySQL permettant :


Ergonomie et Navigation

L’aspect graphique et esthétique n’est clairement pas le sujet de ce petit projet. La solution demandée respecte un cahier des charges avec des vues pour l’utilisateur. Ces vues respectent les points d’ergonomie suivants :


Suppression de données : il n’est pas demandé une confirmation de la suppression sauf si d’autres données seront supprimées en cascade, dans ce cas : Des messages récapitulatifs et de confirmation devront être utilisés à bon escient (voir la description ci dessous pour chaque table).

évaluation : démonstration

gérer les Auteurs

exemple de vue

exemple de vue

gérer les Adhérents

gérer les œuvres

voir les TPs précédents

gérer les exemplaires

Les exemplaires sont gérés depuis le lien qui permet de gérer les œuvres

exemple de vue

exemple de vue

Remarque (réalisation) : dans le lien pour ajouter une œuvre, il faut ajouter l’identifiant de l’œuvre.


exemple de vue

exemple de vue

Remarque importante : après avoir ajouter, modifier ou supprimer un exemplaire, l’utilisateur reste sur la vue qui affiche les exemplaires de l’œuvre sélectionnée.
Remarque (réalisation) : dans la redirection, il faut rajouter le numéro de l’œuvre, exemple d’instruction PHP : header("Location: Exemplaire_show.php?id=".$donnees['noOeuvre']);

gérer les emprunts

emprunter un livre

C’est une des 2 interfaces les plus importantes : elle doit être très ergonomique (efficace et rapide (peu de clic)).

exemple de vue

exemple de vue

exemple de vue

exemple de vue

=> date au format jj/mm/aaaa ?
Bonus :

rendre un livre

C’est une des 2 interfaces les plus importantes : elle doit être très ergonomique (efficace et rapide (peu de clic)).

exemple de vue

exemple de vue

exemple de vue

exemple de vue



Remarque importante : après avoir rendu un exemplaire, l’utilisateur reste sur la vue qui affiche les exemplaires que l’adhérent à empruntés et peut rendre.
Remarque (réalisation) : Créer un formulaire par exemplaire à rendre avec comme champ caché l’identifiant de l’adhérent, de l’exemplaire et la date d’emprunt. Dans la redirection, il faut rajouter le numéro de l’adhérent, exemple d’instruction PHP : header("Location: Emprunt_return.php?idAdherent=".$donnees['idAdherent']);

interface pour supprimer des emprunts

L’utilisateur désire un formulaire pour supprimer des enregistrements de la table EMPRUNT, le plus efficace possible.

exemple de vue

exemple de vue


<select name="idAdherent"  id="idAdherent" onchange="self.location='Emprunt_deleteAll.php?idAdherent='+this.options[this.selectedIndex].value">
<input type="submit" name="validerDeleteAll" id="valider" value="supprimer">
tout sélectionner ? <input type="checkbox" onclick="toggle(this);" /><br />
.....
.....
    <script>
        function toggle(source) {
            var checkboxes = document.querySelectorAll('input[type="checkbox"]');
            for (var i = 0; i < checkboxes.length; i++) {
                if (checkboxes[i] != source)
                    checkboxes[i].checked = source.checked;
            }
        }

    </script>

bilan des emprunts et publipostage

exemple de vue

exemple de vue

Publipostage : vous pouvez utiliser le paquet suivant :

https://swiftmailer.symfony.com/docs/introduction.html