Requete MYSQL/Jquery
Flozza8389
-
dolane -
dolane -
Bonjour,
Je fais appel aux développeurs jquery. J'essaye de rendre mes pages plus sympa grace au jquery. Actuellement, je cherche à faire un système qui permet d'une part d'afficher des adresses à partir d'une table, et que pour chaque adresse il soit possible de la modifier (dans la base) sans recharger la page. J'essaye dans un premier temps de comprendre comment ça fonctionne, et d'etablir une page à part avec un formulaire seul.Aidé par un tuto de toutjavascript.com, j'ai utilisé un code qui permet de le faire. Seulement je bloque à un point. Je vous montre le code, qui n'est pas long
Jquery:
function modifier(f) {
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
var s1 = f.elements["nom"].value;
var s2 = f.elements["prenom"].value;
var s3 = f.elements["adresse"].value;
var s4 = f.elements["parId"].value;
var data = null;
if(s1 != "" && s2 != "" && s3 != "" && s4 != "")
data = "s1="+s1+"&s2="+s2+"&s3="+s3+"&s4="+s4;
xhr_object.open("POST", "noreload.php", true);
xhr_object.onreadystatechange = function anonymous() {
if(xhr_object.readyState == 4) {
var tmp = xhr_object.responseText.split(":");
if(typeof(tmp[1]) != "undefined") {
f.elements["string1_r"].value = tmp[1];
f.elements["string2_r"].value = tmp[2];
f.elements["string3_r"].value = tmp[3];
}
alert(tmp[0]);
}
}
xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr_object.send(data);
}
Le php:
header('Content-type: text/html; charset=iso-8859-1');
include("configs/mysqldb.php");
include("configs/functions.php");
if(count($_POST) > 0) {
mysqlConnect();
echo "Données reçues en POST:";
foreach($_POST as $v)
echo utf8_decode($v).":";
$adrChangeSql = "UPDATE adresses SET adresse='".$_POST['adresse']."', nom='".$_POST['nom']."', prenom='".$_POST['prenom']."' WHERE acParent='".$_POST['parId']."' && adrName='Principale'";
$adrChange = mysqlExecute($adrChangeSql);
}
else {
echo 'Aucune donnée n\'a été reçue par "'.basename($_SERVER["PHP_SELF"]).'"...';
}
En fait mon problème est tout bête, tout marche correctement, sauf que les variables $_POST n'arrivent pas correctement. Elle arrive sous forme de booléen j'ai l'impression, puisque chaque valeur de $_POST(j'ai aussi essayé $v) arrive sur la base en tant que "1". Donc les infos dans le base se modifient très bien mais se transforment en 1... Je sais pas si c'est coté php ou js m'enfin je bloque un peu là.. C'est un vrai brouillard pour moi JS j'essaye de m'y mettre et d'apprendre mais bon. je bloque à des broutilles comme ça...
Si quelqu'un à la bonté de m'éclairer ...
Merci pour votre attention
Je fais appel aux développeurs jquery. J'essaye de rendre mes pages plus sympa grace au jquery. Actuellement, je cherche à faire un système qui permet d'une part d'afficher des adresses à partir d'une table, et que pour chaque adresse il soit possible de la modifier (dans la base) sans recharger la page. J'essaye dans un premier temps de comprendre comment ça fonctionne, et d'etablir une page à part avec un formulaire seul.Aidé par un tuto de toutjavascript.com, j'ai utilisé un code qui permet de le faire. Seulement je bloque à un point. Je vous montre le code, qui n'est pas long
Jquery:
function modifier(f) {
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
var s1 = f.elements["nom"].value;
var s2 = f.elements["prenom"].value;
var s3 = f.elements["adresse"].value;
var s4 = f.elements["parId"].value;
var data = null;
if(s1 != "" && s2 != "" && s3 != "" && s4 != "")
data = "s1="+s1+"&s2="+s2+"&s3="+s3+"&s4="+s4;
xhr_object.open("POST", "noreload.php", true);
xhr_object.onreadystatechange = function anonymous() {
if(xhr_object.readyState == 4) {
var tmp = xhr_object.responseText.split(":");
if(typeof(tmp[1]) != "undefined") {
f.elements["string1_r"].value = tmp[1];
f.elements["string2_r"].value = tmp[2];
f.elements["string3_r"].value = tmp[3];
}
alert(tmp[0]);
}
}
xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr_object.send(data);
}
Le php:
header('Content-type: text/html; charset=iso-8859-1');
include("configs/mysqldb.php");
include("configs/functions.php");
if(count($_POST) > 0) {
mysqlConnect();
echo "Données reçues en POST:";
foreach($_POST as $v)
echo utf8_decode($v).":";
$adrChangeSql = "UPDATE adresses SET adresse='".$_POST['adresse']."', nom='".$_POST['nom']."', prenom='".$_POST['prenom']."' WHERE acParent='".$_POST['parId']."' && adrName='Principale'";
$adrChange = mysqlExecute($adrChangeSql);
}
else {
echo 'Aucune donnée n\'a été reçue par "'.basename($_SERVER["PHP_SELF"]).'"...';
}
En fait mon problème est tout bête, tout marche correctement, sauf que les variables $_POST n'arrivent pas correctement. Elle arrive sous forme de booléen j'ai l'impression, puisque chaque valeur de $_POST(j'ai aussi essayé $v) arrive sur la base en tant que "1". Donc les infos dans le base se modifient très bien mais se transforment en 1... Je sais pas si c'est coté php ou js m'enfin je bloque un peu là.. C'est un vrai brouillard pour moi JS j'essaye de m'y mettre et d'apprendre mais bon. je bloque à des broutilles comme ça...
Si quelqu'un à la bonté de m'éclairer ...
Merci pour votre attention
A voir également:
- Requete MYSQL/Jquery
- Mysql community server - Télécharger - Bases de données
- Mysql error 2002 ✓ - Forum Linux / Unix
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur de requete facebook - Forum Facebook
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
1 réponse
"comment créer un site attractif gratuitement" ,? pour télécharger GRATUITEMENT notre e-book, envoyez le titre à l''adresse suivante : webitel @ hotmail . fr et nous vous enverrons le lien (ce n'est pas un robot)? . Vous allez recevoir un e-book de qualité, qui vient de paraître et qui sera payant à partir du 1er janvier 2012.