J'ai créer un input dont la variable est vide, et je voudrait lui affecter une valeur à la suite d'un test.
Une idée?
J'ai créer un input dont la variable est vide, et je voudrait lui affecter une valeur à la suite d'un test.
Une idée?
J'ai pas bien compris ce que tu voulais faire la :s
Tu places ta valeur du test dans la value de l'input ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input ... value="<?=$valeur?>">
En Javascript ? En PHP ?
Avant envoi du formulaire ? Après envoi du formulaire ?
Non, en fait je créer le input :
<input type = "submit" name = "nom_util"/>
Ensuite je fais un test :
if (...) {
$_POST['nom_util'] = ...
}
C'est ca que j'aimerai bien mais ca fonctionne pas, c'est possible de le faire ou pas?
Ben c'est pas possible, tu ne peux pas affecter une variable php à partir d'une variable de formulaire avant l'envoi de celui-ci.
normal que ca marche pas si tu veux envoyer des variable en post tu dois le faire via header.
mais pq veux tu changer la valeur de submit???
en php ou en javascript, ça dépend de ce que tu veux faire exactement, explique nous un peu plus, la validation du formulaire est-elle faite sur la même page? la valeur que tu veux affecter aprés le test est-elle obtenue d'une base de donnée ou simplement à partir d'un autre champ du formulaire?
J'explique :
Je créée d'abord un input, lorsqu'il est rempli (par l'utilisateur) et envoyer, ca affiche les résultats (1/ligne). A coté de ces résultats je veux afficher un input, rempli si la valeur correspondante existe dans une table, sinon elle est vide et l'utilisateur peut le remplir et evoyer le formulaire.
J'ai été assez clair? Et ce qui ne va pas la dedans, c'est que j'arrive pas à affecter les valeurs correspondantes à partir de la table.
ce serait pas ca que tu veux faire <inuput type="text" name"champ" value="tonaffectation" /> ?
Hello,
si tu affiche un résultat c'est que la valeur existe dans la base.
Alors.
$myval = "";
$num_rows = mysql_num_rows($result);
/* pour vérifier si il y a un enregistrement (>0) */
if ($num_rows>0){
$myval = $_POST['val'];
}
printf(" <input type = \"text\" name =\"nom_util\" value=\"%s\"/>",$myval);
$_POST['val'] etant la valeur recu par le POST du formulaire
Ca doit être pas mal ca
Si ca peut t'aider
Bye
O.FOSTIER
Ca fonctionne pas, mais je crois que c mon code qui est un peu bizarre...
Fait voir ton code !
Il n'y a pas de raison
Je vous balance le tout, vous pourrez juger de vous-même :
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 /*création du input à remplir par l'utilisateur et du bouton d'envoi*/ <input type = "text" name = "nom_mach" /> <input type = "submit" value = "OK"/><br/> <?php if (isset($_POST['nom_mach']) && (!empty ($_POST['nom_mach']))) { $nom_mach = $_POST['nom_mach']; /*requete pour avoir tout les résultats à afficher(1/ligne)*/ $requete = "SELECT cod_pc, nom_pc FROM pc WHERE pc.nom_pc like '$nom_mach%'"; /*requete pour avoir les info à afficher ds le input si elles existent*/ $requete2 = "SELECT id, nom, prenom, nom_pc FROM utilisateur WHERE nom_pc LIKE '$nom_mach%'"; $res = mysql_query ($requete) or die (mysql_error()); $res2 = mysql_query ($requete2) or die (mysql_error()); while ($donnees = mysql_fetch_array($res)){ echo $donnees['nom_pc'];/*j'affiche les résultats*/ while ($donnees2 = mysql_fetch_array($res2)) { if ($donnees2 > 0) { if ($donnees['nom_pc'] == $donnees2['nom_pc']) {/*test pour savoir si je dois afficher ds le input ou pas*/ $myval = $donnees2['nom']; printf(" <input type = \"text\" name =\"nom_util\" value=\"%s\"/>",$myval); } else {?> <input type = "text" name = "nom_util" value = "" />/*sinon j'affiche le input vide*/ <br/><?php } } } }
Arrêtez de chercher si vous étiez en train ! (on sait jamais)
C'est bon, c'était bien mon code qui été pourri...
Ta solution a bien fonctionné.
Merci, et come je pense que j'aurais encore des pb, je vous dis à bientôt!
Petit question
Dans ta table PC !!
Tu as bien une seul ligne par nom de PC ??
Dans table utilisateur !!
Tu as bien une seul ligne par utilisateur ??
si les deux cas sont vrais tu te prends grave la tête
Une seul requete suffirait
Optimisation optimisation
Partager