Je crée une page admin où j'ai plusieurs textboxes. Quand j'entre l'ID utilisateur dans une zone de texte je veux afficher le nom d'utilisateur dans la zone de texte suivante quand l'admin passe à la zone de texte suivante.pour cela je peux utiliser ajax
ou javascript
? lequel sera le meilleur? Comment puis-je le faire par javascript.comment accéder à la base de données via javascript?
Répondre
Vous ne pouvez pas accéder à la base de données directement via Javascript.
Vous pouvez utiliser AJAX pour appeler un Serverside (par exemple PHP) page qui interroge la base de données si
Utilisez un appel AJAX pour obtenir les données dont vous avez besoin d'un script côté serveur (ici php) et insérez le résultat de l'appel dans la zone de texte souhaitée.
Une meilleure utilisation Mootools, JQuery, YUI ou d'un cadre de toute autre pour effectuer les requêtes Ajax. Cela réduira votre temps de développement. Pour plus d'informations check apis de jQuery:
La réponse c'est AJAX, mais avant tout, il vaut mieux si vous comprenez ce AJAX est: Asynchronous JavaScript And XML. Ensuite, pour simplifier votre tâche, il est préférable d'utiliser un framework javascript comme jQuery ou mootools.
Je suggère personnellement jQuery.
NO! S'il vous plaît, arrêtez de dire que jQuery résoudra tous ses problèmes. N'utilisez PAS jQuery (immédiatement): apprenez d'abord AJAX, codez-le vous-même, lisez des tutoriels, rencontrez des erreurs, comprenez ce qui se cache derrière. Ensuite, si vous le souhaitez, passez à jQuery mais n'utilisez pas aveuglément des outils sans savoir ce qu'ils font. EDIT: bien sûr, c'est un commentaire dirigé vers toutes les réponses à propos de jQuery, pas seulement celui-ci en particulier – nico
@nico, je ne suis pas d'accord. Tout le point d'une bibliothèque comme jQuery est de vous protéger de tous les détails affreux propres au navigateur. Cela aide à les comprendre finalement, mais je ne pense pas que ce soit une condition préalable. C'est pourquoi jQuery est si génial qu'il vous permet de faire des choses avancées d'une manière rapide et (généralement) sûre. Vous ne pensez pas que chaque programmeur devrait d'abord apprendre l'assembleur, n'est-ce pas? :) –
@Ian Varley: Non, bien que je pense qu'à un certain point, chaque programmeur devrait au moins apprendre la ** base ** de l'assembleur. Je ne dis pas qu'il devrait réécrire jQuery, Dieu non! Juste qu'il peut écrire une simple "bibliothèque AJAX" même pas un navigateur croisé, juste pour le navigateur qu'il utilise. De cette façon, il va apprendre comment le processus fonctionne et quels sont les problèmes avec lui. Je l'ai fait et il n'a pas fallu plus de quelques jours pour obtenir quelque chose de fonctionnel. Alors bien sûr, vous pouvez commencer avec JQuery, le faire fonctionner et ensuite comprendre comment cela fonctionne, mais personnellement, je trouve qu'il est difficile de le faire par la suite. – nico
Vous aurez besoin d'utiliser ajax qui est de 9/10 javascript quand même. Je suggère d'utiliser un framework JS pour que vous n'ayez pas à coder pour différents navigateurs. Ensuite, vous aurez besoin de quelque chose du côté serveur qui traitera la requête et vous crachera les données requises. Les formats populaires sont XML (le x dans ajax), JSON, ou tout simplement HTML. De toute façon, vous aurez besoin d'un rappel javascript pour traiter le résultat (ou une condition d'erreur, ne l'oubliez pas) et remplir votre zone de texte. Personnellement, je préfère juste renvoyer des fragments HTML, mais si vous avez un framework, vous y trouverez probablement du XML et du JSON.
Aucun ajax ni javascript requis.
Faites simplement une liste alphabétique de tous les utilisateurs avec des liens pour éditer la page. Vous pouvez également ajouter à cette page un formulaire avec une seule zone de texte pour entrer l'ID utilisateur manuellement.
Les liens et le formulaire mènent à la page d'édition qui utilise l'ID utilisateur de la chaîne de requête pour extraire les utilisateurs.
La première étape consiste à créer un script PHP qui enverra des données analysables à JavaScript. Ne pas autoriser JavaScript à transmettre des requêtes SQL brutes à votre PHP.
<?php
$sqlGetName = $mysqli->prepare("SELECT id, name FROM users WHERE id=?");
$sqlGetName->bind_param("i", $_GET['id']);
$sqlGetName->execute();
$result = array('success' => false, 'id' => null, 'name' => null);
$sqlGetName->bind_result($result['id'], $result['name']);
if($sqlGetName->fetch()) {
$result['success'] = true;
}
echo json_encode($result);
Ensuite, utilisez JavaScript pour récupérer les valeurs. L'exemple ci-dessous utilise la bibliothèque MooTools par souci de simplicité, mais pourrait être fait avec une autre bibliothèque ou dans du JavaScript courant.
var jsonRequest = new Request.JSON({url: 'get_user.php',
onSuccess: function(result) {
if(result.success) {
alert(result.id + ': ' + result.name);
} else {
alert('Not Found');
}
}
});
jsonRequest.get({'id': 3});
<script>
function showUser(str) {
if (str=="") {
document.getElementById("spName").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("spName").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getUserName.php?q="+str,true);
xmlhttp.send();
}
</script>
getUsreName.php
<?php
$q=$_GET["q"];
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="pnpdb"; // Database name
// Connect to server and select databse.
$link = mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name",$link)or die("cannot select DB");
$sql="SELECT name FROM tblprofile WHERE userId = '".$q."'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$name =$row['name'];
if($name == '' || empty($name)) {
echo "<b>ID not found.</b>";
} else {
echo "<b>".$name."</b>";
}
mysql_close($link);
?>
- 1. Comment accéder à la base de données de JasperReports Server via API?
- 2. comment accéder à la base de données de plusieurs utilisateurs via JDBC
- 3. Accéder à la base de données via la fonction par rapport à l'objet, différence?
- 4. comment accéder à la base de données mongodb dans scala?
- 5. Comment accéder à la base de données Picasa (bureau)?
- 6. Accéder à la base de données SQL dans Excel VBA
- 7. Accéder à la base de données SQLite avec PHP
- 8. Accéder à la base de données MySQL depuis l'iphone
- 9. Comment accéder à une base de données SQLite dans Clojure?
- 10. Accéder à l'historique de Chrome via JDBC
- 11. comment accéder à l'image stockée dans la base de données via la requête http dans les rails
- 12. Comment accéder à une base de données Access en utilisant JavaScript?
- 13. Comment puis-je accéder à ma base de données avec un appel AJAX en utilisant javascript?
- 14. Accès à une base de données via Obj-c
- 15. Accès à la base de données via les collections
- 16. AIR: Connexion à la base de données via le réseau?
- 17. Comment accéder à la base de données à partir de WF4?
- 18. Modification de la ligne Données de base de l'entité liée à managedObjectContext via la relation
- 19. Accéder à la feuille de calcul publique de Google-apps via Javascript
- 20. Accéder à la base de données créée par le navigateur Android 1.5 localy
- 21. Accès à la base de données WORDNET
- 22. Comment accéder à la propriété récupérée dans Objective-C 2.0 à l'aide des données de base
- 23. Comment accéder à la base de données sqlite à partir du serveur dans mon application
- 24. Comment accéder aux objets Java via Javascript dans Safari
- 25. Accéder à toutes les données de la base de données RadGrid?
- 26. Comment XAML via la liste déroulante de liaison à la base de données northwind
- 27. Accéder à WinMo6 GPS via Pocket IE
- 28. entrée de la base de données par javascript
- 29. Comment envoyer des données à ActionBean via JavaScript?
- 30. accéder à la base de données de musique à partir de cacao
AJAX via JavaScript, évidemment ... –
par ailleurs, un accès direct via JS à votre base de données est très dangereux à moins que le filtrage est effectué. Cela signifie que les utilisateurs peuvent modifier toute votre base de données. – mauris
@thephpdeveloper: corrigez-moi si je me trompe, mais je ne pense pas que vous puissiez accéder directement à la base de données via JS, non? – nico