Et si on remettait les pièces du puzzle dans l'ordre
Citation:
Envoyé par
droledenm
J'ai un site (Wordpress) pour de la location de velo.
Sur mon hébergeur, je peux mettre PHPMyAdmin et sur une base MySQL je veux mettre ma réservation de vélo.
Pour ca, je vois bien 1 table par vélo (V1, V2, V3,...) et pour chaque velo une colonne 07h - 08h - 09h -... 20h que je remplis avec le nom de l'utilisateur
Là, vous décrivez le "COMMENT" : nombre de tables, de colonnes...
Il faut d'abord s'intéresser au "QUI" et au QUOI et pour pouvoir le faire, il faut identifier les acteurs (les vélos, les plages horaires, les clients, les réservations...) puis s'intéresser aux règles de gestion, ces deux étapes sont incontournables
Exemple de règles de gestion (identifiées par un numéro pour faciliter les échanges) :
RG01 : pour une tranche horaire un vélo est réservé par au plus une personne
RG02 : pour une tranche horaire, une personne peut réserver plusieurs vélos
RG03 : ...
Citation:
Envoyé par
droledenm
Je veux pouvoir réserver sur la semaine en cours et la semaine suivante ce qui m'oblige a faire une colonne lundi 07h, une autre lundi 08h,... dimanche 20h... lundi suivant 08h...
Puis une autre table avec la même chose pour le 2nd vélo etc
Ca me fait un nombre impressionnant de colonne et je pense que ce n'est pas la bonne méthode mais je ne vois pas comment faire de manière plus optimale (je ne m'y connais pas trop en BDD).
C'est effectivement exactement ce qu'il ne faut pas faire, mais nous éviterons facilement cet écueil si les acteurs et les règles de gestion sont clairement définies
Citation:
Envoyé par
droledenm
Une autre solution serait de faire une table par velo mais avec une colonne utilisateur et une colonne heure - mais au niveau de la requête SQL ca va être plus compliqué pour voir si un créneau est libre. Pour voir si un créneau est libre je suis obligé de récupérer tous les créneaux pour un velo donné et voir si celui que je cherche est libre.
Ouh la la, surtout pas :aie:, même réponse que précédemment :)