Php et javascript

Fermé
sams - 16 juil. 2003 à 10:13
 sams - 16 juil. 2003 à 17:06
Je tente désespéremment de trouver une solution à mon problème! Je dispose d'un formulaire dans lequel j'ai un champ de texte et je veux qu'après avoir entré une valeur dans ce champ renseigner deux autres champs de texte à partir d'une base de données. Je ne parviens pas à récupérer la valeur de ce champ en php mais j'y arrive en javascript. Mais pour renseigner les valeurs des deux autres champs j'utilise des bases de données en php. Est-ce qu'il est possible de mélanger du php et du javascript ? J'ai essayé mais je n'y suis pas parvenue. Si quelqu'un connait une solution j'en serais ravie. En espérant avoir été claire, merci d'avance
A voir également:

7 réponses

bonjour,
tout d'abord ne pas confondre langage serveur et langage client
php est un langage serveur, javascript un langage client
donc php est exécuté coté serveur, javascript dans ta page html .
php peut générer du javascript si tu veux..
enfin,
pour récupérer la valeur d'un chp text, c'est simple tu appelles $nom_champ dans une page php, mais il faut que tu ais envoyé ton formulaire contenant ton champ.
ensuite, pour mettre les deux valeurs de ta base ds les chps texte que tu souhaites, tu crés une page php ds laquelle tu récupéres les valeurs souhaitées. Puis à la dans ton code html de tes champs texte, tu places le résultat de ta recherche :
<input type=text name=text1 value=<? echo $result["champ1"] ?>>
<input type=text name=text2 value=<? echo $result["champ2"] ?>>

voila
en espérant avoir répondu à ton probleme
0
Oui merci. En fait je viens de faire presque la même chose : j'ai tout mis dans un même fichier. J'ai ajouté un bouton, même si je n'en voulais pas, envoyé la valeur à une méthode que j'appelle et qui est dans le même fichier. Par contre à l'affichage ça me donne un warning (au niveau des bases de données) parce que justement la valeur du champ texte n'est pas renseigné.
merci
0
mets à disposition tes erreurs...

tu veux effectuer une recherche dans ta base à partir d'un champ texte?

pour te repondre plus amplement, j'attend tes erreurs, voir tes sources php.
A@++
0
L'erreur que j'obtiens c'est : "Erreur = Exécution de la requete Something is wrong in your syntax près de '' à la ligne 1"

Mon fichier s'appelle maquette.php. Ci-dessous tu trouveras le code qui génère cette erreur.

Mon code source :
<form method = "post" action ="maquette.php">
<p align="left">  Numéro d'Agent :
<input type="text" name="NumAgent" size="5" maxlength="5" value ="0">
     
<input type="submit" name="ValideNA" value="Ok">
<?php
$res = traiteNumAgent();
function traiteNumAgent(){
$NumAgent = $_POST['NumAgent'];
$server = 'localhost';
$user = 'root';
$pass = '';
mysql_connect($server, $user, $pass) or die("VerifNumAgent : Erreur de connexion\n ".mysql_error());
$db = "gestinter";

mysql_select_db($db) or die("VerifNumAgent() : Erreur = Base inexistante\n ".mysql_error());

$sql = "SELECT code_ges, porte FROM Agent where num = $NumAgent;";
$query = mysql_query($sql) or die("traiteNumAgent() : Erreur = Exécution de la requete\n ".mysql_error());

//On récupère les résultats
if($data = mysql_fetch_array($query)){
$CodeService = $data[0];
$NumPorte = $data[1];
}
else
echo "verifNumAgent : Erreur = le numéro d'agent est incorrect<BR>";

mysql_close();
return array($CodeService, $NumPorte, $NumAgent);
}
?>

Voilà, merci

</p>
<p align="left"> Code Service :
<input type="text" name="CodeService" readOnly value = <?echo $res[0];?> >
       Numéro Porte :
<input type="text" name="NumPorte" readOnly value = <?echo $res[1];?>>

</p>
</form>
0
Je voulais savoir s'il était possible de pouvoir mélanger du php avec du javascript et si oui comment ? Si t'as un exemple
0
pour répondre à ta question(mélanger php avec javascript), ce que j'ai déjà fait en partie ci-dessus : de façon direct , non, php s'exécute coté serveur, javascript coté client donc aucun rapport entre les codes.
Mais tu peux placer ton code php avec du code javascript comme tu le ferais avec le code html tout en sachant que le premier sera exécuté avant le second.
tu peux avoir ceci (remplir les données d'une base dans un tableau javascript):
<script>
var t=new Array();
<? for($i=0;$i<sizeof($result);$i++) echo "t[$i]=".$result[$i].";\n";?>
</script>

tu obtiendras :
<script>
var t=new Array();
t[0]="contenu0";
t[1]="contenu1";
t[2]="contenu2";
etc...
</script>

pour ton erreur vérifis si tu récupére bien numAgent
fais un echo de ta requéte.

A@++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Quand j'affiche la requete ca me donne :
SELECT code_ges, porte FROM Agent where num = ;

Comme tu l'auras constaté il ne reconnait pas le numero de l'agent car "num = ;" mais c'est normal puisque c'est au lancement du formulaire et il n'y a pas de valeur dans le champ.
J'ai ajouté la valeur 0 par défaut au champ texte NumAgent, mais ça ne marche toujours pas !
0
c'est normal, $_POST['NumAgent'] n'est tjr pas renseigné étant donné que le formulaire n'a pas encore été envoyé.
il faut que tu testes $_POST['NumAgent'] :
if(!$_POST['NumAgent']) $NumAgent=0;
else $NumAgent=$_POST['NumAgent'];
puis dans requete :
$sql="select ...... where num=$NumAgent";

essais ca
A@++
0
Ouais ca marche
merci
0
Je vais encore t'embêter, rassures toi ca marche ce ke tu m'as dit. Et comme je constate que tu es de bons conseils. Je veux remplir une liste déroulante à partir d'une base de données et je voulais savoir koment on pouvait faire ???
0
rien de plus simple mon ami,

<select name=liste>
<option> Choisissez ....
<?
$rs=mysql_query("ta requete");
while($result=mysql_fetch_array($rs,MYSQL_ASSOC)) {
echo "<option value=".$result["ton_champ"].">".$result["ton_champ"];
}
?>
</select>

A ton service

A@++
0
Bon je vais essayer et on verra si t'es mon ami ...
0
Oui effectivement ça marche bien
merci
bon jpeux rentrer chez moi, j'ai travaillé aujourd'hui !!!
0