IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Application web réservation salles ASP


Sujet :

ASP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut Application web réservation salles ASP
    Bonjour,

    J'ai été de nombreuses fois aidé grâce aux forums de ce site alors j'ai fini par m'inscrire

    Voilà mon problème: je dois améliorer une application de réservation de salles pour des utilisateurs qui peuvent jusqu'à présent réserver une salle en donnant une date de début et de fin ainsi qu'une heure de début et de fin, cocher un sélecteur (oui/non) pour une salle informatique, et donner les raisons de cette réservation. Mon travail est de faire une deuxième façon de réserver une salle, par critères: capacité de la salles (combien d'étudiants), lieu (à quelle étage), salle informatique (oui/non) et donner les raisons.

    J'avais l'idée que l'algo seraient un peu comme ça:

    Si salle info. = oui

    Si Capacite_value = 1 (Non Renseigné)

    Si Lieu_value = 1 (Non Renseigné)

    Afficher les salles dans l'ordre des visio par ordre alphabetique

    Si Lieu_value = 2 (10 étudiants)

    Afficher la salle du 2e étage supérieurs ou égales à 10 étudiants

    etc...

    Pareil pour les non informatique.

    Là où c'est difficile c'est que je voudrais afficher dès qu'il valide ces critères, une page calendrier/agenda où il y aurai à gauche les salles disponibles et en haut les créneaux horaires un peu comme ce site qui est exactement ce que je voudrais: http://www.daypilot.org/tutorial/restaurant/

    Etant donné que je ne connais pas grand chose sur l'ASP (PHP forever !) je voudrais savoir si vous auriez des conseils et des pistes à me donner ?

    Merci de votre aide !

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Tu as commencé quelque chose ?

    Sinon, il existe le logiciel GRR en open source (PHP/MYSQL) qui est assez puissant.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Rien en code, mais je suis obligée (snif) de travailler avec de l'ASP... L'application Web est bien faites, j'ai peur de m'embarquer sur quelques chose que je ne connais pas, résultat je n'ai fais que des maquettes de ce que je voudrais. J'ai aussi fais l'algo que je vous ai mis (il est plus long puisque plusieurs capacité et plusieurs étages mais c'est la même chose quoi).

    De ton point de vue c'est réalisable ce que j'imagine ?

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    A priori, je ne vois pas d'obstacle particulier.
    Tu peux nous montrer déjà tes maquettes ?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Maquettes.zip Voici la maquette de "saisie" sur une même page il y aura le choix pour l'utilisateur de réserver une salle par dates, ou par critères.
    S'il choisit par critères, et qu'il valide j'aimerai qu'il soit rediriger vers une page calendrier (voir maquette calendrier) qui répertorie les dates et les salles. Et là, l'utilisateur pourrait choisir un créneaux en cliquant dessus, valider et ça serait une réservation (réservation qu'il pourrait aussi supprimer s'il recliquait sur sa réservation, dans l'idéal).

    Comme je l'ai dis, j'ai trouvé la 2e maquette sur un site: http://www.daypilot.org/tutorial/restaurant/ mais je ne sais pas si je m'embarque pas trop ? Est-ce qu'il n'y a pas quelques chose de plus simple, des astuces ?

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Je ne vois pas de difficultés particulières.
    Tu as modélisé ta base de données ?

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Oui, disons que je travail avec une base de données déjà existante que j'ai modifiée par ci par là (par exemple au lieu d'avoir le nom avec la salle info dedans, j'ai rajouté un champ supplémentaire en oui/non et pour savoir si c'était des salles infos ou pas).

    Le problème c'est que je suis déboussolée parce que je ne connais pas du tout ce langage, du coup si tu as des tutos à me conseiller pour me permettre de mener ce projet à bien, je suis preneuse.
    Sinon, pourrais tu me donner les premières lignes de ce algo codé ?

    Si salle info. = oui

    Si Capacite_value = 1 (Non Renseigné)

    Si Lieu_value = 1 (Non Renseigné)

    Afficher les salles dans l'ordre des visio par ordre alphabetique

    Si Lieu_value = 2 (10 étudiants)

    ça me permettrais de continuer je pense puisqu'il s'agit de quelque chose d'assez répétitif, et je comprendrais ce que l'on attend de moi.

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Voici une partie du code HTML que j'ai fais dans la page saisie (c'est un exemple, il y a plus de salles et plus de capacité mais c'est pour vous donner un aperçu):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     
    <html>
    <head>
    	<title>Projet </title>
    <script language="Javascript">
    	function Valider()
    	{
    		if (document.F_Resa.T_Comment.value.length < 3)
    		{
    			alert('Raison obligatoire !');
    			document.F_Resa.T_Comment.focus();
    		}
    		else
    		{
    			document.F_Resa.submit();
    		}
    	}
    	</script>
    </head>
    <body>
    <td colspan="3" class="entete">
    						Réservation d'une salle par critères
    					</td>
    				</tr>
    				<tr><td>&nbsp;</td></tr>
     
    				<td>
    					<form method="post" >
    						<Font color = #000000 Style= "margin-left:15px"> Lieu: <SELECT id="etage" name="T_Lieu" style= "width:135px; margin-left:10px">
    													<OPTION value="1"> Non-renseigné
    													<OPTION value="2"> 1er étage
    													<OPTION value="3"> 2e étage
    													<OPTION value="4"> 3e étage
    													<OPTION value="5"> 4e étage				
    													<OPTION value="6"> 5e étage
    													</SELECT>
     
    						<Font color = #000000 Style= "margin-left:25px">Capacité: <SELECT id="capacite" name="S_Cap" style= "width:135px; margin-left:10px">
    													<OPTION value="1"> Non-renseigné
    													<OPTION value="2"> 10 personnes
    													<OPTION value="3"> 15 personnes
    												                <OPTION value="4"> 20 personnes
    													<OPTION value="5"> 30 personnes
    													<OPTION value="6"> 40 personnes
    												</SELECT>
     
    						<Font color = #000000 Style= "margin-left:25px">Salle informatique: 	<input type="radio" name="R_Info" value="Oui" /> Oui 
    																						<input type="radio" name="R_Info" value="PI" checked /> Sans Importance
     
    					</form>	
    				</td>
     
    				<tr>
    					<td>
    						<Font color = #FF0000 Style="margin-left:15px;" >Raisons : </font> <textarea name="T_Comment" rows="4" cols="50" style= "margin-left:150px"></textarea>
    					</td>
     
     
    <tr>
    					<td colspan="3" align="center">
    						<input type="button" value="Valider" name="B_Valider" onClick="Valider();" />
    						&nbsp;&nbsp;
    						<input type="reset" value="Annuler" name="B_Reset" />
    					</td>
    				</tr>
     
    				</tr>
    </body>

  9. #9
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    A priori, je pense que tu devras créer une requête SQL dynamiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    sql = ""
    sql = sql & "select NumSalle from SALLES "
    sql = sql & "where 1 = 1 "
    <%if Len(Trim(request.form("T_Lieu"))) > 0 then%>
       sql = sql & "and LIEU = '" & request.form("T_Lieu") & "' "
    <%end if%>
     
    <%if Len(Trim(request.form("S_Cap"))) > 0 then%>
       sql = sql & "and CAPACITE = '" & request.form("S_Cap") & "' "
    <%end if%>
     
    <%if Len(Trim(request.form("R_Info"))) > 0 then%>
       sql = sql & "and INFO = '" & request.form("R_Info") & "' "
    <%end if%>
    .................
    Tu récupères le résultat de la requête dans un recordset, et tu affiches le résultat (les salles) dans une <table> avec des liens hypertexte qui pointent sur ton calendrier.

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup Pc75 tu ne sais pas à quel point tu m'aides !

    Je vais commencer par faire tout le code avec le début que tu m'as mis, et je reviendrais ensuite vers toi (si cela ne te gène pas) pour ce qui est de l'affichage (j'apprend petit à petit )

    Encore merci

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Voilà pour éviter de partir direct sur le calendrier, je me suis dis que je pouvais faire une page intermédiaire avec la liste des salles comme ça, dès que l'utilisateur choisis une salle, il tombe sur le calendrier de la salle uniquement en question. Mon serveur n'étant toujours pas opé, je ne peux encore rien tester, est-ce que vous pensez qu'il faudrait que je revois des choses ? Je pense qu'il doit y avoir des oublis ? J'ai mis des commentaires, est-ce que j'ai bien compris ?

    Merci pour votre aide !

    ex.zip

  12. #12
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Dans choix.asp, a la ligne 38, tu veux tester quoi ?

    Tu as des erreurs d'ouverture et de fermeture des balises asp (<%....%>)

    Pour la requête de sélection de salle, il me parait évident de ne pas proposer une salle déjà réservée.
    J'imagine que dans ta base tu as une table des salles et une table des réservations ?

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Dans choix.asp, a la ligne 38, tu veux tester quoi ?
    Eh bien j'ai combiné le code que tu m'avais donné, je pensais que c'était une sorte de "si la valeur de lieu est > 0 ET si la valeur de capacité est > 0 ET si la valeur de R_Info est superieur à 0 alors
    on récupère en fonction de la valeur rentrée les données et on affiche à quoi elle correspond..." Par exemple, si Salle 1er étage pas de capacité et oui en salle info, alors on affiche toutes les salles info du premier.

    Tu as des erreurs d'ouverture et de fermeture des balises asp (<%....%>)
    Ok je rétablie ça.

    Pour la requête de sélection de salle, il me parait évident de ne pas proposer une salle déjà réservée.
    J'imagine que dans ta base tu as une table des salles et une table des réservations ?
    Oui dans ma BD il y a les tables réservations, salles, user, et user_droits (en fonction du personnel du bâtiment ils peuvent accéder à certaines des salles ou pas).

  14. #14
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Pour la ligne 38 :

    Le caractère & est utilisé pour concaténer.
    Si tu veux utiliser le "ET", il faut mettre "AND".

    L'idée que je t'ai donnée consiste à construire la requête SQL en fonction des choix de l'utilisateur.
    On commence à construire la clause SELECT / FROM / WHERE avec une condition WHERE toujours vrai (where 1 = 1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql = "SELECT ..... FROM MATABLE WHERE 1 = 1
    Ensuite, en fonction des choix de l'utilisateur, on affine la clause WHERE :
    Si, par exemple, la longueur (Len), sans les blancs (Trim) de la valeur de T_Lieu (request.form("T_Lieu")) choisie par l'utilisateur est supérieur à 0 => l'utilisateur a donc choisi un lieu, alors on ajoute dans la clause WHERE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sql = sql & "and LIEU = '" & request.form("T_Lieu") & "' "
    Et ce pour tous les autres critères.

    J'espère être plus clair ?

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Effectivement tu es plus clair Je suis désolée, tu es très indulgent je sais que c'est pas facile d'être patient pour expliquer ce qui semble être des bases ^_^'
    Je recommence !

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Du coup dans la lancée, j'avais une autre question: dans le cas par exemple où les données que rentre l'utilisateurs ne peuvent pas se combiner, j'aimerai afficher un message d'erreur mais lui proposer d'autres salles qui correspondent "presque" à leurs requête. Comment je pourrais rajouter ça ?

    J'avais pensé à un message d'erreur que je mettrais en variable:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    err = "Aucune salle ne correspond à votre recherche, veuillez réitérer votre demande ou choisir une salle ci-dessous"
    En ajoutant ensuite des salles qui supprimerai un des critères: en commençant par exemple par la capacité, puis la visio puis l'étage... Un peu comme sur des sites internet où tu fais des recherches quoi.

  17. #17
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Alors là, je pense que tu t'engages dans un processus relativement compliqué.
    Perso, j'afficherai un message du type :
    Aucune salle disponible ne correspond à votre sélection. Merci de modifier vos critères.
    Après, tu peux effectivement, en adaptant la requête, proposer le liste des salles disponibles avec une capacité supérieure à son choix, ou à un étage différent, mais il va falloir gérer l'enchainement de tout ça.

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    D'accord je comprend, moi tant que le message d'erreur s'affiche à la limite, je pense que l'utilisateur peut recommencer (d'autant si je rajoute un bouton "Retour" sur la page). Voilà ce que j'ai fais:

    Donc si je comprend bien, il manque le code pour vérifier dans la table résa que y'en a pas déjà une ? (je pensais que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Objet utilisé pour vérifier dans la base de donnée si des réservations ont déjà été effectuées pour la salle voulu
    Set resa_verif = Server.CreateObject("ADODB.Recordset")
    suffisait). et il faut aussi que je mette une requête qui donne le message d'erreur et normalement je peux passer ensuite à l'affichage dans le calendrier ? (si l'utilisateur clique sur la bulle réserver d'une salle puis sur le bouton voir les disponibilités alors il est redirigé sur le calendrier) ? salles.zip

  19. #19
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Dans la page où l'utilisateur choisit ses critères, j'ajouterai un choix sur les heures auxquelles il souhaite réserver.
    Dès lors, dans ta requête, tu exclus les salles pour lesquelles le choix horaire sélectionné par l'utilisateur est déjà réservé.

  20. #20
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    C'est une bonne idée, le problème c'est que ce "choix" existe déjà: l'utilisateur peut d'un côté choisir par dates & heures, et de l'autre par critères...
    D'où le fait que je dois intégrer un calendrier: c'est pour choisir en cliquant l'horaire. En gros: soit tu connais la date et l'heure, soit tu le connais pas et tu la choisis.

    Demain je m'attaque au message d'erreur et au lien vers le calendrier. Merci de ton aide Pc75

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 8 12345 ... DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/05/2009, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo