Comment remplissage automatique d'autres champs de formulaire sur cliquez avec PHP
J'ai un formulaire simple maintenant:
<form action='<? echo $PHP_SELF;?>' method='POST'>
Username:<input type='text' name='username'><br>
Email:<input type='text' name='email'><br>
Posts:<input type='text' name='posts'><br>
Joindate<input type='text' name='join'><br>
<input type="submit" value="Submit" />
Ce que je besoin est, lorsque l'utilisateur remplit son nom d'utilisateur et effectue l'une des opérations suivantes:
1.appuie sur tab
2.Appuie sur entrée
3.clique sur un bouton chercher(fetch bouton n'existe pas maintenant,je voudrais savoir comment faire pour le créer à l'aide de javascript ou autre chose qui convient à mes critères)
Une fois qu'il fait tout de ce qui précède, il devrait générer automatiquement les champs de la base de données.
La requête devrait ressembler à ceci:
$req=mysql_query("SELECT * from utilisateur where username =$_POST['username']
");
$row=mysql_fetch_assoc('$req);
echo $row['posts] et ainsi de suite..
Après il est généré automatiquement, il peut modifier les champs et de les soumettre à mettre à jour les champs de base de données.
Voici mon code mis à jour:
<head>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
</head>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<fieldset>
<legend>Form</legend>
<label for="username">Username: </label>
<input type="text" id="username" name="username" />
<button onclick="myrequest()">fetch</button>
<label for="posts">Posts: </label>
<input type="text" id="posts" name="posts" size="20"/>
<label for="joindate">Joindate: </label>
<input type="text" id="joindate" name="joindate" size="20"/>
<p><input type="submit" name="submitBtn" value="Submit" /></p>
</fieldset>
</form>
<script type="javascript/text>
function myrequest() {
var name = $('.username').val();
$.ajax({
method: "GET",
url: "http://url.com/test/autofill.php",
dataType: 'json',
data: {
username: username
}).success(function( responseObject ) {
//assuming you have an array of stuff like name, id, email, etc.
//now i populate another field from the ajax response
$('.posts').val( responseObject.posts );
});
}
And then in the autofill.php
//connect to database
$name = $_GET['username'];
$return = mysql_query("SELECT * FROM user WHERE username = '$name' LIMIT 1");
$rows = mysql_fetch_array($return);
$formattedData = json_encode($rows);
print $formattedData;
Vous devez vous connecter pour publier un commentaire.
Faire un php de point de terminaison (en gros une url dans lequel vous pouvez appeler votre spécial fonction php qui retourne uniquement les données que vous voulez) qui renvoie un json_encode ferais un tableau avec tous les autres champs d'info.
Appeler cette fonction via ajax lorsque le premier champ perd le focus ou des changements (ou un bouton est enfoncé), selon votre préférence.
Puis à l'aide de javascript, utilisez ce que vous avez obtenu de retour de l'ajax en réponse à remplir les autres champs.
autoFill.php
Javascript (à l'aide de jquery)
//récupère le val de la première rubrique