Auteur |
Message |
harbor92
Forumeur fréquent
Sexe:
Messages: 95
|
Posté le:
Dim 15 Fév 2009 - 15:07 |
|
bonjour, je suis actuellement en stage.
Je dois faire une application en PHP .
Il y a une partie ou l'utilisateur doit répondre à des questions (environ 70).
Le problème c'est que mon maitre de stage veut que l'on fasse apparaitre une question par page avec un bouton suivant pour faire apparaitre la question suivante.
Les questions et les réponses sont issué de requetes SQL.
Je ne vais quand même pas créer 70 pages pour les 70 questions.
Je souhaiterai faire comme le concept utilisé sur Facebook, je ne sais pas si vous avez utilisé les application du style "question sur vos amis" ect ,....
Les questions se succèdent sur la même page jusqu'a la fin.
J'ai essayé de chercher un code sur le net mais je ne trouve pas.
Pouvez vous m'aidez à régler ce problème. |
|
|
|
|
N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. |
Seraphin
Résident du forum
Sexe:
Messages: 305
Localisation: Paris
|
Posté le:
Lun 16 Fév 2009 - 11:01 |
|
Hm Avec mes yeux de jeune développeur je dirais que facebook à une partie en Ajax (javascript) et donc cela permet de recharger des éléments de la page sans recharger la page entière. ça peut être une voie à approfondir. Tu fais une page en php qui contient de l'ajax, et à chaque nouvelle question (click sur le bouton) il charge de nouvelle données stocké dans ta base, donc une nouvelle question apparait. Après tout dépend si l'ordre tes questions doivent être aléatoires ou prédéfinie. Enfin perso moi je me pencherais sur un truc dans le genre. |
_________________
|
|
|
|
Vincent
Webmaster
Sexe:
Messages: 5584
Localisation: Montpellier
|
Posté le:
Lun 16 Fév 2009 - 11:21 |
|
C'est pas indispensable d'utiliser de l'AJAX pour faire un formulaire en PHP.
Dans le même principe, tu stocke tes questions en base de données et après chaque validation de réponse, tu charge la suivante avec en variable de la page le numéro de la question. Du coup t'as pas à créer 70 pages, vu que tu gère tout ca en dynamique. |
_________________ Hey les amis, pensez à suivre @webig sur Twitter, et pourquoi pas me suivre moi @cybervince |
|
|
|
ghuighui
Forumeur occasionnel
Messages: 24
|
Posté le:
Lun 16 Fév 2009 - 16:10 |
|
Je reprend ce que dit Vincent, c'est la même chose, sauf que j'explique plus en détail
Imaginons que ta page avec les questions s'appelle "question.php", et qu'il y ait un lien vers cette page sur l'index.
Le lien de l'index serait par exemple ".../question.php?id=1"
Ca créé une variable "id" de type "get" et de valeur "1"
Cette page contiendrai (a peu près, je vais pas te faire le code ^^) :
Code: |
if ($_GET['id'] == 1) // c'est le lien d'origine
{
// tu affiche ta question 1 et tout ton code qui permet d'enregistrer la réponse
<a href="question.php?id=2">Question 2</a>
}
else if ($_GET['id'] == 2) // c'est le lien vers la question 2
{
// tu affiche ta question 2 et ton code
<a href="question.php?id=3">Question 3</a>
} |
etc...
Avec ca tu n'as que 2 pages : index et question
Je te laisse te débrouiller pour la suite, je t'ai juste présenter l'idée générale.
Oublie pas le "else" a la fin (ca voudra dire qu'il y a eu une erreur, donc tu affichera un texte du genre "erreur") |
_________________ Informatique : cours et tutoriels pour débutants, actualité, communauté. Rejoignez-nous !
http://informatik.open-web.fr/ |
|
|
|
Seraphin
Résident du forum
Sexe:
Messages: 305
Localisation: Paris
|
Posté le:
Lun 16 Fév 2009 - 16:15 |
|
ghuighui a écrit: |
Je reprend ce que dit Vincent, c'est la même chose, sauf que j'explique plus en détail
Imaginons que ta page avec les questions s'appelle "question.php", et qu'il y ait un lien vers cette page sur l'index.
Le lien de l'index serait par exemple ".../question.php?id=1"
Ca créé une variable "id" de type "get" et de valeur "1"
Cette page contiendrai (a peu près, je vais pas te faire le code ^^) :
Code: |
if ($_GET['id'] == 1) // c'est le lien d'origine
{
// tu affiche ta question 1 et tout ton code qui permet d'enregistrer la réponse
<a href="question.php?id=2">Question 2</a>
}
else if ($_GET['id'] == 2) // c'est le lien vers la question 2
{
// tu affiche ta question 2 et ton code
<a href="question.php?id=3">Question 3</a>
} |
etc...
Avec ca tu n'as que 2 pages : index et question
Je te laisse te débrouiller pour la suite, je t'ai juste présenter l'idée générale.
Oublie pas le "else" a la fin (ca voudra dire qu'il y a eu une erreur, donc tu affichera un texte du genre "erreur") |
Et arriver à la question 70 $_GET['id'] == 70 ?
ça fait un peu long comme condition non ? Dans ce cas ne faut il pas mieux mettre une boucle ? ceci dit je connais que dal en PHP mais ça me semble plus logique non? |
_________________
|
|
|
|
ghuighui
Forumeur occasionnel
Messages: 24
|
Posté le:
Lun 16 Fév 2009 - 16:17 |
|
C'est beaucoup plus long mais si tu veux faire ça que avec du PHP c'est le seul moyen (je pense).
Après il y a moyen de raccourcir le code avec les boucles par exemple.
Tu fais ta boucle et a la fin tu incrémente la variable id, mais je m'y connais pas trop en boucle donc je vais pas proposer d'ébauche de code ici
Je vais juste montrer a quoi ressemble un boucle
Code: |
$id = $_GET['id'] // c'est plus clair comme ça
for ($id = 1; $id <= 70; $id++)
{
} |
De toutes façons après ça dépend comment est construit la table qui contient les questions |
_________________ Informatique : cours et tutoriels pour débutants, actualité, communauté. Rejoignez-nous !
http://informatik.open-web.fr/ |
|
|
|
Vincent
Webmaster
Sexe:
Messages: 5584
Localisation: Montpellier
|
Posté le:
Lun 16 Fév 2009 - 16:51 |
|
Heu, mettre des if pour chaque question, c'est monter une usine à gaz.
Il faut plutôt mettre les questions dans une base de données, et donc les afficher séquentiellement. Et derrière, pour chaque personne qui répondra au questionnaire, enregistrer les réponses afin de sortir les résultats de l'enquête en automatique depuis la base. |
_________________ Hey les amis, pensez à suivre @webig sur Twitter, et pourquoi pas me suivre moi @cybervince |
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Mar 17 Fév 2009 - 02:05 |
|
Il existe des scripts tout fait.
Ex : Unit Command Climate Assessment and Survey System (UCCASS)
Cependant il a du mal avec les caractères spéciaux |
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
ghuighui
Forumeur occasionnel
Messages: 24
|
Posté le:
Mar 17 Fév 2009 - 13:37 |
|
Ouais enfin bon c'est dans le cadre de ses études faut pas l'oublier...
Il aura l'air fin plus tard si il utilise des scripts tout fait chez son employeur |
_________________ Informatique : cours et tutoriels pour débutants, actualité, communauté. Rejoignez-nous !
http://informatik.open-web.fr/ |
|
|
|
United
Accro à Web-IG
Sexe:
Messages: 225
Localisation: Oise
|
Posté le:
Mar 17 Fév 2009 - 18:22 |
|
Pourquoi refaire ce qui existe déjà si on peut intégrer un script qui correspondant parfaitement à nos attentes. |
_________________
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Mer 18 Fév 2009 - 01:37 |
|
United a écrit: |
Pourquoi refaire ce qui existe déjà si on peut intégrer un script qui correspondant parfaitement à nos attentes. |
+1
Un développeur qui va réfléchir avant de développer est un bon développeur.
Par réfléchir il va :
- demander précisément la fonctionnalité que veut le client
- vérifier si ce qu'il demande est faisable
- chercher si une solution existe déjà
- intégrer cette solution ou la développer
Sachant que la reprise d'un code est dans la plupart des cas moins couteuse en jours de développement pour un patron, donc plus intéressante.
Le tout c'est que le client soit satisfait, et que ton patron le soit aussi (en réduisant au maximum les coûts).
ghuighui a écrit: |
Ouais enfin bon c'est dans le cadre de ses études faut pas l'oublier...
Il aura l'air fin plus tard si il utilise des scripts tout fait chez son employeur |
A l'école on t'apprend à programmer. Mais entre l'école et l'entreprise, il y a un fossé
L'Education Nationale ne forme clairement pas à des profils "prets à l'emploi" comme elle le croît ... |
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
|