Actualisation de champs php/javascript
Résolu
angelus1821
Messages postés
191
Date d'inscription
Statut
Membre
Dernière intervention
-
Fetide68 Messages postés 745 Date d'inscription Statut Membre Dernière intervention -
Fetide68 Messages postés 745 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour mon logiciel medical, dans la partie consultation, j'aimerais actualiser des <textArea> en fonction d'un clique sur un bouton.
Je m'explique:
Voici mes tables que j'utilise :
dossier (dateConsult,numero ,motif,examen, diagnostic, idRefpatient)
patient (idPatient, nom ,prenom,dateNaiss, SS,adresse ,cp,ville,idRefMed)
Ce que je voudrais faire, lorsque je clique sur le premier bouton par exemple, dont la date est " 20/10/2010 " , ça me fasse une requete php, et ça m'actualise mes champ motif, exam diagnostic
====>autrement dit, je souhaite avoir le diagnostic, motif et examen, du patient à la date qui corespond au bouton cliqué.
J'ai essayé de mettre sous forme de lien, à la place de bouton, mais j'ai pas trop reussi.
Un grand merci d'avance pour votre aide!!!
Pour mon logiciel medical, dans la partie consultation, j'aimerais actualiser des <textArea> en fonction d'un clique sur un bouton.
Je m'explique:
Voici mes tables que j'utilise :
dossier (dateConsult,numero ,motif,examen, diagnostic, idRefpatient)
patient (idPatient, nom ,prenom,dateNaiss, SS,adresse ,cp,ville,idRefMed)
$idpatient = $_SESSION['idpatient']; //je recupere mon id du patient #requete pour une liste de date, dans des boutons $rechercheDossier="select dateConsult from dossier where idRefpatient=$idpatient " or die(mysql_error()); $resultat =mysql_query($rechercheDossier) or die(mysql_error()); while ($affichage=mysql_fetch_array($resultat)) { #affiche une liste de date echo "<input type='submit' value='".$affichage[0]."' name='bouton'>"; } ..... ..... <fieldset > <legend>Motif</legend> <textarea " name="chpMotif" id="motif" > </textarea> </fieldset> <fieldset > <legend>examen</legend> <textarea " name="chpexam" id="motif" > </textarea> </fieldset> <fieldset > <legend>diagnostic</legend> <textarea " name="chpdiag" id="motif" > </textarea> </fieldset>
Ce que je voudrais faire, lorsque je clique sur le premier bouton par exemple, dont la date est " 20/10/2010 " , ça me fasse une requete php, et ça m'actualise mes champ motif, exam diagnostic
====>autrement dit, je souhaite avoir le diagnostic, motif et examen, du patient à la date qui corespond au bouton cliqué.
J'ai essayé de mettre sous forme de lien, à la place de bouton, mais j'ai pas trop reussi.
Un grand merci d'avance pour votre aide!!!
A voir également:
- Actualisation de champs php/javascript
- Easy php - Télécharger - Divers Web & Internet
- Telecharger javascript - Télécharger - Langages
- Expert php pinterest - Télécharger - Langages
- Actualisation des données de la carte sim - Forum Samsung
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
5 réponses
Je ne comprends pas tout le problème... Ou sont les textArea et quelles infos doivent ils recevoir ?
Je ne saisis pas trop l'intérêt des input "submit". Ca s'utilise en général dans des balises <form>, et le fait de soumettre la requête, recharge la page au clic.
Je ne saisis pas trop l'intérêt des input "submit". Ca s'utilise en général dans des balises <form>, et le fait de soumettre la requête, recharge la page au clic.
<input type="button" value="affichage[0]" onclick="document.getElementById('textarea').value+=this.value+' ';" /> <textearea id="textarea"></textarea>
les textArea sont disposé a coté, j'en ai bavé, mais c'est juste une question de style, une fois ce petit proble resolu, le style devrait pas posé de problème.
Bien vu, sinon, pour le type="button", je vais essayé ça de suite, car dans l'input, quand je fais :
,cela m'affiche la date de chaque bouton, mais faire une requete, en fonction de chaque bouton cliqué ,pas facile.
quand tu dis:
cela veut dire , sur clique du bouton, par exemple pour le textArea "motif" = date du bouton cliqué, or ce que je souhaite c'est :
quand tu clique sur le bouton, on puisse selectionner le motif dont la date = bouton cliqué ? est ce correct?
Bien vu, sinon, pour le type="button", je vais essayé ça de suite, car dans l'input, quand je fais :
onclick="alert(this.value"
,cela m'affiche la date de chaque bouton, mais faire une requete, en fonction de chaque bouton cliqué ,pas facile.
quand tu dis:
onclick="document.getElementById('textarea').value+=this.value+' ';"
cela veut dire , sur clique du bouton, par exemple pour le textArea "motif" = date du bouton cliqué, or ce que je souhaite c'est :
quand tu clique sur le bouton, on puisse selectionner le motif dont la date = bouton cliqué ? est ce correct?
Il y a certainement beaucoup plus simple, mais avec les éléments dont je dispose, c'est ce que j'ai trouvé de mieux :
A mettre dans des balises <script> avant le header, ou dans un fichier à part. Il s'agit d'une fonction JavaScript qui envoie les valeurs dans les textarea :
Ensuite la requête qui ajoute les réponse dans un Array PHP incrémenté (j'ai modifié la reqûete car il nous faut tous les champs :
Et enfin, le HTML :
A mettre dans des balises <script> avant le header, ou dans un fichier à part. Il s'agit d'une fonction JavaScript qui envoie les valeurs dans les textarea :
function getVisite(motif,examen,diagnostic) { document.getElementByID('motif').value=motif; document.getElementByID('motif').value=examen; document.getElementByID('motif').value=diagnostic; }
Ensuite la requête qui ajoute les réponse dans un Array PHP incrémenté (j'ai modifié la reqûete car il nous faut tous les champs :
$date=Array(); $motif=Array(); $examen=Array(); $diagnostic=Array(); $rechercheDossier="select * from dossier where idRefpatient=$idpatient " while ($affichage=mysql_fetch_array($resultat)) { $date[]=$affichage['dateConsult']; $motif[]=$affichage['motif']; // incrémenter l'array motif avec les valeurs de motf dans la base de données $examen[]=$affichage['examen']; $diagnostic[]=$affichage['diagnostic']; } // boucle pour afficher les boutons avec les array qu'on vient de faire : for ($i=0;$i<count($date);$i++) { echo "<input type='button' value='".$date[$i]."' onclick='getVisite(\"".$motif."\",\"".$examen."\",\"".$diagnostic."\");'>"; }
Et enfin, le HTML :
<fieldset > <legend>Motif</legend> <textarea id="motif" > </textarea> </fieldset> <fieldset > <legend>examen</legend> <textarea id="examen" > </textarea> </fieldset> <fieldset > <legend>diagnostic</legend> <textarea id="diagnostic" > </textarea> </fieldset>
ça me met un " Parse error: parse error ...."
En fait , j'ai la fonction du debut, que tu ma mise:
ce ne serait pas plutot :
????
Puis j'ai mis cela :
mis je ne comprend pas quand tu dis " incrémenter l'array motif avec les valeurs de motif "
J'ai un peu de mal avec le javascript ,quand sa devient compliqué , pourrait tu m'expliquer un peu plus stp, merci
En fait , j'ai la fonction du debut, que tu ma mise:
document.getElementByID('motif').value=motif; document.getElementByID('motif').value=examen; document.getElementByID('motif').value=diagnostic;
ce ne serait pas plutot :
document.getElementByID('motif').value=motif; document.getElementByID('exmen').value=examen; document.getElementByID('diagnostic').value=diagnostic;
????
Puis j'ai mis cela :
$date=Array(); $motif=Array(); $examen=Array(); $diagnostic=Array(); $rechercheDossier="select * from dossier where idRefpatient=$idpatient " while ($affichage=mysql_fetch_array($resultat)) { $date[]=$affichage['dateConsult']; $motif[]=$affichage['motif']; // incrémenter l'array motif avec les valeurs de motf dans la base de données $examen[]=$affichage['examen']; $diagnostic[]=$affichage['diagnostic']; } // boucle pour afficher les boutons avec les array qu'on vient de faire : for ($i=0;$i<count($date);$i++) { echo "<input type='button' value='".$date[$i]."' onclick='getVisite(\"".$motif."\",\"".$examen."\",\"".$diagnostic."\");'>"; }
mis je ne comprend pas quand tu dis " incrémenter l'array motif avec les valeurs de motif "
J'ai un peu de mal avec le javascript ,quand sa devient compliqué , pourrait tu m'expliquer un peu plus stp, merci
Le parse error renvoie à une ligne du code... (par ex: parse error on line 22), purrais-tu me dire à quelle ligne ça correspond stp ?
Ensuite pour le javascript, ce que tu as changé à la place de motif, c'est juste... Pardon pour l'erreur. Je n'ai pas tes documents ni ta base de données, je n'ai pas pu tester mon code...
Attention à la façon dont tu as écris l'input (même si l'erreur vient de moi) :
echo "<input type='button' value='".$date[$i]."' onclick='getVisite(\"".$motif."\",\"".$examen."\",\"".$diagnostic."\"); /'>";
Il faut pas oublier le slash avant la fin de la balise...
Concernant, les array, je vais tenter une approche depuis le début... mais je ne suis pas très doué pour expliquer (j'ai juste été et je suis encore un peu débutant et je connais les inquiétudes des débutants pour qui tout est du chinois au début) et c'est du php, pas du javascript (même si les array fonctionnent un peu de la même façon :
Les arrays sont des variables, comme les variables mais qui se composent de plusieurs valeurs.
une variable = une valeur;
un array = une valeur, une autre, une troisième, etc...
exemple:
$array = array("bonjour","salut");
Les valeurs sont accessibles par des indexes : l'index 1 de $array = bonjour, l'index 2 = salut,...
Mais attention, en php et javascript l'index 1 est en réalité l'index 0, c'est à dire que si tu fais :
echo $array[1], tu obtiendras salut et non bonjour.
pour afficher bonjour c'est echo $array[0];
J'ai donc déclaré mes variables pour les arrays qui étaient vides au départ, nous allons nous baser sur l'array $date, sachant que les autres fonctionnent pareil.
$date=array();
ensuite la boucle pour ta requête (while...): tant que la requête reçoit des réponse, on incrémente le tableau...
Admettons qu'il y y ait deux réponses obtenues pour ta requête : 17/01/2010 et 20/01/2010 (un mec qui est souvent malade... :)
après la boucle while, $date[0]="17/01/2010" et $date[1]="20/01/2010";
Une autre boucle permet ensuite d'afficher les input, tant que le array $date contient une valeur count($date).
Pour chaque bouton, on aura donc un input avec les valeurs nécessaires et les paramètres qu'il faudra envoyer à la fonction javascript "getVisite(paramètres)..."
Voilà, je pense avoir fait le tour de la question. Si tu en as encore, je tâcherai d'y répondre si j'ai le temps...
Ensuite pour le javascript, ce que tu as changé à la place de motif, c'est juste... Pardon pour l'erreur. Je n'ai pas tes documents ni ta base de données, je n'ai pas pu tester mon code...
Attention à la façon dont tu as écris l'input (même si l'erreur vient de moi) :
echo "<input type='button' value='".$date[$i]."' onclick='getVisite(\"".$motif."\",\"".$examen."\",\"".$diagnostic."\"); /'>";
Il faut pas oublier le slash avant la fin de la balise...
Concernant, les array, je vais tenter une approche depuis le début... mais je ne suis pas très doué pour expliquer (j'ai juste été et je suis encore un peu débutant et je connais les inquiétudes des débutants pour qui tout est du chinois au début) et c'est du php, pas du javascript (même si les array fonctionnent un peu de la même façon :
Les arrays sont des variables, comme les variables mais qui se composent de plusieurs valeurs.
une variable = une valeur;
un array = une valeur, une autre, une troisième, etc...
exemple:
$array = array("bonjour","salut");
Les valeurs sont accessibles par des indexes : l'index 1 de $array = bonjour, l'index 2 = salut,...
Mais attention, en php et javascript l'index 1 est en réalité l'index 0, c'est à dire que si tu fais :
echo $array[1], tu obtiendras salut et non bonjour.
pour afficher bonjour c'est echo $array[0];
J'ai donc déclaré mes variables pour les arrays qui étaient vides au départ, nous allons nous baser sur l'array $date, sachant que les autres fonctionnent pareil.
$date=array();
ensuite la boucle pour ta requête (while...): tant que la requête reçoit des réponse, on incrémente le tableau...
Admettons qu'il y y ait deux réponses obtenues pour ta requête : 17/01/2010 et 20/01/2010 (un mec qui est souvent malade... :)
après la boucle while, $date[0]="17/01/2010" et $date[1]="20/01/2010";
Une autre boucle permet ensuite d'afficher les input, tant que le array $date contient une valeur count($date).
Pour chaque bouton, on aura donc un input avec les valeurs nécessaires et les paramètres qu'il faudra envoyer à la fonction javascript "getVisite(paramètres)..."
Voilà, je pense avoir fait le tour de la question. Si tu en as encore, je tâcherai d'y répondre si j'ai le temps...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai reussi !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ça ma pris 2h aujourd'hui, rien que pour ce petit probleme, mais j'y suis arrive !
j'ai mis cela :
j'ai rajouté les $i dans les input et maintenant en fonction du bouton cliqué, cela m'afffiche les differentes données '( motif, examen et diagnostic)
UN grand merci à toi !!!!!!!!!!!!!!
J'ai fais plusieurs test et ça marche, un tres grand merci a toi !!!!!!
ça ma pris 2h aujourd'hui, rien que pour ce petit probleme, mais j'y suis arrive !
j'ai mis cela :
for ($i=0;$i<count($date);$i++) { echo "<input type='button' value='".$date[$i]."' onclick='getVisite(\"".$motif[$i]."\",\"".$examen[$i]."\",\"".$diagnostic[$i]."\");'>"; }
j'ai rajouté les $i dans les input et maintenant en fonction du bouton cliqué, cela m'afffiche les differentes données '( motif, examen et diagnostic)
UN grand merci à toi !!!!!!!!!!!!!!
J'ai fais plusieurs test et ça marche, un tres grand merci a toi !!!!!!