Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1632 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  aide pour script reservation d'ateliers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aide pour script reservation d'ateliers

n°2068604
baxterbax
Posté le 07-04-2011 à 11:45:04  profilanswer
 

bonjour,  
 
 
en parcourant un forum je suis tombé sur ce post, http://forum.hardware.fr/hfr/Progr [...] 5281_1.htm.  
qui traite d' un script de reservation d'evenements qui affiche les places restantes apres chaques inscriptions.  j'ai tenté le modifier pour apporter des fonctionnalites différentes : voilà l'exemple en ligne :
 
http://www.ccsti74-crangevrier.com [...] ulaire.php
http://www.ccsti74-crangevrier.com [...] estion.php
 
 
mais je voudrais que les gens puissent s'inscrire à plusieurs ateliers en même temps quand ils cochent plusieurs cases à la fois et ça ne marche pas . avez-vous une idée pour ameliorer cela ?  
 
j'ai un probleme egalement pour gerer les accents...  
 
Merci d'avance.


Message édité par baxterbax le 07-04-2011 à 11:48:29
mood
Publicité
Posté le 07-04-2011 à 11:45:04  profilanswer
 

n°2068726
rufo
Pas me confondre avec Lycos!
Posté le 07-04-2011 à 17:45:52  profilanswer
 

Les accents : pb de charset, traité maintes fois sur ce forum et plus généralement sur le web => recherche ici ou sur Google
 
Sans le code source, on va pas pouvoir t'aider :/ Les 2 liens donnent l'interprétation du code php, donc le html généré, pas le code source... Mais là comme ça, je dirais qu'il faut que tu fasses une boucle sur les ateliers cochés et créer autant d'entrées dans la BD que d'ateliers cochés  ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2068754
baxterbax
Posté le 07-04-2011 à 20:43:52  profilanswer
 

rufo a écrit :

Les accents : pb de charset, traité maintes fois sur ce forum et plus généralement sur le web => recherche ici ou sur Google
 
Sans le code source, on va pas pouvoir t'aider :/ Les 2 liens donnent l'interprétation du code php, donc le html généré, pas le code source... Mais là comme ça, je dirais qu'il faut que tu fasses une boucle sur les ateliers cochés et créer autant d'entrées dans la BD que d'ateliers cochés  ;)


 
 
merci pour ta réponse. en ce qui concerne  les accents je vais continuer effectivement mes recherches ici et ailleurs .  
 
il faut rendre à cesar ce qui  est à cesar .je n'ai fait qu'apporter quelques modifications au script  de la page formulaire inscription ainsi que la page gestion :  
 
 
 
page formulaire.
 

Code :
  1. <?php
  2. mysql_connect("", "", "" ) or die(mysql_error());
  3. mysql_select_db("" );
  4. if(isset($_POST['nom']))
  5. {
  6. if(!empty($_POST['nom']))
  7. {
  8. $nom = $_POST['nom'];
  9. $activite = $_POST['activite'];
  10. $prenom = $_POST['prenom'];
  11. $email = $_POST['email'];
  12. mysql_query("INSERT INTO noms VALUES('', '" . $activite . "', '" . $nom . "', '" . $prenom . "','" . $email . "')" ) or die (mysql_error());
  13. header('Location: form1.php?inscription=ok');
  14. }
  15. else
  16. {
  17. echo 'Vous devez indiquer vos coordonn&eacute;es dans les champs &agrave; remplir.';
  18. }
  19. }
  20. if(isset($_GET['inscription']) AND $_GET['inscription'] = 'ok')
  21. {
  22. echo 'Votre inscription a bien &eacute;t&eacute; prise en compte ! Merci.';
  23. }
  24. echo '<form method="post" action="form1.php">';
  25. $reponse0 = mysql_query('SELECT COUNT(*) AS nb_activites FROM activites') or die(mysql_error());
  26. $donnees0 = mysql_fetch_array($reponse0);
  27. $nb_activites = $donnees0['nb_activites'];
  28. echo '<h3>Liste des activit&eacute;s</h3>';
  29. if($nb_activites == 0)
  30. {
  31. echo 'Aucune activit&eacute; disponible pour le moment.
  32. ';
  33. }
  34. else
  35. {
  36. if($nb_activites == 1)
  37. {
  38. echo 'Il y a '.$nb_activites.' activit&eacute; disponible pour le moment.
  39. ';
  40. }
  41. else
  42. {
  43. echo 'Il y a '.$nb_activites.' activit&eacute;s disponibles pour le moment.
  44. ';
  45. }
  46. }
  47. echo '<form>';
  48. $reponse1 = mysql_query('SELECT * FROM activites ORDER BY id ASC') or die(mysql_error());
  49. while ($donnees1 = mysql_fetch_array($reponse1))
  50. /////////////////////////
  51. ////////////////////////////
  52. {
  53. $id = $donnees1['id'];
  54. $activite = $donnees1['activite'];
  55. $details = $donnees1['details'];
  56. $places = $donnees1['places'];
  57. echo '<fieldset>';
  58. echo '<legend>Activit&eacute; n&deg;'.$id.'</legend>';
  59. echo 'Activit&eacute; : <strong>'.$activite.'</strong>
  60. ';
  61. if(empty($details))
  62. {
  63. echo '';
  64. }
  65. else
  66. {
  67. echo 'D&eacute;tails : '.nl2br($details).'';
  68. }
  69. echo '<hr />';
  70. //echo '</label>Inscrivez votre nom :</label> <input type="text" name="nom" />
  71. ';
  72. //echo '<input type="hidden" name="activite" value="'.$id.'" />
  73. ';
  74. // echo '<input type="hidden" name="activite" value="nom" />
  75. ';
  76. //echo '<input type="hidden" name="activite" value="'.$nom.'" />
  77. ';
  78. //echo '<input type="hidden" name="activite" value="'.$nom.'" />
  79. ';
  80. echo '<input type="checkbox" name="activite" value="'.$id.'" />
  81. ';
  82. $reponse2 = mysql_query('SELECT COUNT(*) AS nb_de_places_occupees FROM noms WHERE activite = '.$id.'');
  83. $donnees2 = mysql_fetch_array($reponse2);
  84. $nb_de_places_restantes = $places - ($donnees2['nb_de_places_occupees']);
  85. echo 'Nombre de places total : '.$places.'
  86. ';
  87. echo 'Nombre de places restantes : '.$nb_de_places_restantes.'
  88. ';
  89. echo '</fieldset>
  90. ';
  91. }
  92. mysql_close();
  93. echo'<table border="0" cellpadding="0" cellspacing="0">';
  94. echo'<tr>';
  95. echo'<td style="padding-bottom:5px">Nom : </td>';
  96. echo'<td width="10">&nbsp;</td>';
  97. echo'<td style="padding-bottom:5px"><input name="nom" type="text" value="'.$nom.'" size="50" class="field"/></td>';
  98. echo'</tr>';
  99. echo'<tr>';
  100. echo'<td style="padding-bottom:5px">Pr&eacute;nom</td>';
  101. echo'<td width="10">&nbsp;</td>';
  102. echo'<td style="padding-bottom:5px"><input type="text" name="prenom" value="'.$prenom.'" size="50" class="field" />';
  103. echo'</td>';
  104. echo'</tr>';
  105. echo'<tr>';
  106. echo'<td style="padding-bottom:5px">Mail : </td>';
  107. echo'<td width="10">&nbsp;</td>';
  108. echo'<td style="padding-bottom:5px"><input type="text" name="email" value="'.$email.'" size="50" class="field" />';
  109. echo'</td>';
  110. echo'</tr>';
  111. echo'</table>';
  112. echo '<input type="submit" value="Valider"></form>';
  113. ?>


 
le script gestion des activites :
 
 

Code :
  1. <?php
  2. mysql_connect("", "", "" ) or die(mysql_error());
  3. mysql_select_db("" );
  4. if(isset($_GET['supprimer']))
  5. {
  6. $_GET['supprimer'] = $_GET['supprimer'];
  7. mysql_query('DELETE FROM activites WHERE ID = \'' . $_GET['supprimer'] . '\'');
  8. header('location:gestion.php');
  9. }
  10. if(isset($_POST['activite']) AND isset($_POST['places']) AND isset($_POST['details']))
  11. {
  12. if(!empty($_POST['activite']) AND !empty($_POST['places']))
  13. {
  14. $activite = $_POST['activite'];
  15. $details = $_POST['details'];
  16. $places = $_POST['places'];
  17. mysql_query("INSERT INTO activites VALUES('', '" . $activite . "', '" . $details . "', '" . $places . "')" ) or die (mysql_error());
  18. header('Location: gestion.php?ajout=ok');
  19. }
  20. else
  21. {
  22. echo '
  23. Vous devez remplir tous les champs obligatoires.';
  24. }
  25. }
  26. if(isset($_GET['ajout']) AND $_GET['ajout'] == 'ok')
  27. {
  28. echo '
  29. L\'activité a été ajoutée avec succès.';
  30. }
  31. echo '<h3>Ajouter une activité </h3>';
  32. echo '<form action="gestion.php" method="post">';
  33. echo '<label>Nom de l\'activité : </label><input type="text" name="activite" />
  34. ';
  35. echo '<label>Nombre de places dispo : </label><input type="text" name="places" />
  36. ';
  37. echo '<label>Description de l\'activité (facultatif) : </label>
  38. ';
  39. echo '<textarea cols="60" rows="10" type="text" name="details"></textarea>
  40. ';
  41. echo '<input type="submit" value="Enregistrer" />';
  42. $reponse0 = mysql_query('SELECT COUNT(*) AS nb_activites FROM activites') or die(mysql_error());
  43. $donnees0 = mysql_fetch_array($reponse0);
  44. $nb_activites = $donnees0['nb_activites'];
  45. echo '<hr /><h3>Liste des activités</h3>';
  46. if($nb_activites == 0)
  47. {
  48. echo 'Aucune activité disponible pour le moment.
  49. ';
  50. }
  51. else
  52. {
  53. if($nb_activites == 1)
  54. {
  55. echo 'Il y a '.$nb_activites.' activité disponible pour le moment.
  56. ';
  57. }
  58. else
  59. {
  60. echo 'Il y a '.$nb_activites.' activités disponibles pour le moment.
  61. ';
  62. }
  63. }
  64. $reponse1 = mysql_query('SELECT * FROM activites ORDER BY id ASC') or die(mysql_error());
  65. while ($donnees1 = mysql_fetch_array($reponse1))
  66. {
  67. $id = $donnees1['id'];
  68. $activite = $donnees1['activite'];
  69. $details = $donnees1['details'];
  70. $places = $donnees1['places'];
  71. echo '<fieldset>';
  72. echo '<legend>Activité n°'.$id.'</legend>';
  73. echo 'Activité : <strong>'.$activite.'</strong>
  74. ';
  75. if(empty($details))
  76. {
  77. echo '';
  78. }
  79. else
  80. {
  81. echo 'Détails : '.nl2br($details).'';
  82. }
  83. echo '<hr />';
  84. $reponse2 = mysql_query('SELECT COUNT(*) AS places_occupees FROM noms WHERE activite = '.$id.'') or die(mysql_error());
  85. $donnees2 = mysql_fetch_array($reponse2);
  86. $places_occupees = $donnees2['places_occupees'];
  87. if($places_occupees == 0)
  88. {
  89. echo 'Aucun membre ne s\'est inscrit pour cette activité.';
  90. }
  91. else
  92. {
  93. echo '<strong>Liste des membres pour cette activité ('.$places_occupees.'/'.$places.')</strong>
  94. ';
  95. }
  96. $result= mysql_query('SELECT * FROM noms WHERE activite = '.$id.' ORDER BY nom') or die(mysql_error());
  97. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  98. printf("Nom : %s : Prénom : %s : email : %s", $row["nom"], $row["prenom"],$row["email"]);
  99. $Nom = $row[0];
  100. $prenom = $row[1];
  101. $email = $row[3];
  102. echo'<br>';
  103. }
  104. { $nom = $donnees3['nom'];
  105. //echo '<input type="text" name="nom" value="'.$nom.'" enable="enable" />
  106. ';
  107. }
  108. echo '</fieldset>
  109. ';
  110. }
  111. mysql_close();
  112. ?>


Message édité par baxterbax le 08-04-2011 à 11:10:18
n°2068786
rufo
Pas me confondre avec Lycos!
Posté le 08-04-2011 à 09:49:46  profilanswer
 

Merci d'utiliser les balises "code" de ce forum pour poster ton code, là c'est dur de le lire :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2068799
baxterbax
Posté le 08-04-2011 à 11:13:04  profilanswer
 

rufo a écrit :

Merci d'utiliser les balises "code" de ce forum pour poster ton code, là c'est dur de le lire :/


 
 
 
 
effectivement c'est mieux comme ça . merci encore pour ton aide

n°2068805
rufo
Pas me confondre avec Lycos!
Posté le 08-04-2011 à 11:26:12  profilanswer
 

Page formulaire
L32 -> test mal écrit : privilégier && à la place de AND et mettre == à la place de =
 
L132 -> le name doit être un tableau pour gérer plusieurs activités : name="activite[]"    -> comme ça coté php, ça sera vu comme un tableau, donc facile de faire une boucle dessus avec foreach ;)
 
Cela dit, merci d'indenter le code car franchement, c'est très dur à lire et en plus, c'est codé vraiment "à l'arrache" (pas de séparation entre html et traitement php par ex :/ )
 


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2069538
baxterbax
Posté le 12-04-2011 à 17:49:02  profilanswer
 


merci encore de ton aide, par contre je ne vois pas tres bien ce que tu veux dire par :  
 
 
L132 -> le name doit être un tableau pour gérer plusieurs activités : name="activite[]"    -> comme ça coté php, ça sera vu comme un tableau, donc facile de faire une boucle dessus avec foreach ;)
 
merci  
 
 
 

n°2069791
rufo
Pas me confondre avec Lycos!
Posté le 13-04-2011 à 17:16:57  profilanswer
 

si name="activite", tu ne vas avoir côté php qu'une valeur reçue de ton formulaire (la première ou la dernière cochée). Or, tu veux pouvoir en cocher plusieurs, faut donc mettre name="activite[]" pour que côté php, la valeur reçue soit un tableau.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2070940
baxterbax
Posté le 19-04-2011 à 17:47:57  profilanswer
 

salut,  
 
bon voilà que je tourne en rond pour mon script inscription : j'ai bien  essayé de mettre les crochets et de chercher sur le net comment faire une boucle . mais je crois que je suis vraiment bloqué pour avancé. merci de ton aide et si jamais tu peux regarder.  

rufo a écrit :

si name="activite", tu ne vas avoir côté php qu'une valeur reçue de ton formulaire (la première ou la dernière cochée). Or, tu veux pouvoir en cocher plusieurs, faut donc mettre name="activite[]" pour que côté php, la valeur reçue soit un tableau.


Message édité par baxterbax le 21-04-2011 à 10:58:47
n°2070941
rufo
Pas me confondre avec Lycos!
Posté le 19-04-2011 à 17:53:36  profilanswer
 

ben une boucle du genre  

Code :
  1. foreach($_POST['activite'] as $i => $Value)
  2. {
  3.    // Traitement
  4. }


 
Si c'est ça que tu cherchais, c'est archi basic comme info :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  aide pour script reservation d'ateliers

 

Sujets relatifs
Lire une ligne d'un texte à l'aide d'un pointeuraide pour scroller, et conseils aussi
nouvelle extension pour script upload fileproblème script export csv php
Besoin d'aide Php base de donnéeAide url rewriting
Aide[aide] ACCESS, création tables (appliquée pour une gestion budget)
aide en requêtes BD et EJB 
Plus de sujets relatifs à : aide pour script reservation d'ateliers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR