Zarak
2010-05-06 16:34:03 UTC
Bonjour,
J'ai un problème que je vais essayer de résumer simplement : je voudrais
transmettre une chaine de caractère depuis Javascript vers PHP, chaine
qui sera ensuite traitée dans une requête SQL.
La fonction Javascript récupère un évenement clavier, qui est transmis -
avec succès - vers une fonction php "Rechercher" :
/* Fonction Javascript */
function Update(frappe)
{
document.getElementById("textfield").value = "<?php Rechercher('"+frappe+"'); ?>";
}
/* Fonction PHP */
function Rechercher($text)
{
$result = RequeteSQL("SELECT nom FROM table WHERE nom LIKE '$text%' ORDER BY nom");
$ligne = mysql_fetch_array($result);
echo $ligne[0];
}
A partir de là, un truc bizarre se produit : la chaîne est bien transmise, un "echo" peut
le prouver, mais la requête SQL ne renvoit rien. Si je rajoute par exemple au début de la
fonction PHP $text = "V", ça va marcher, la requête SQL va me renvoyer le premier enregistrement
commençant par "V". Si ce même "V" provient du Javascript, 'a marche pu.
Qu'est-ce qui ne fonctionne pas entre Javascript, MySQL et l'appel PHP ? N'y a-t-il pas une
histoire de formatage de chaîne de caractère ou qqch dans le genre ?
Merci.
J'ai un problème que je vais essayer de résumer simplement : je voudrais
transmettre une chaine de caractère depuis Javascript vers PHP, chaine
qui sera ensuite traitée dans une requête SQL.
La fonction Javascript récupère un évenement clavier, qui est transmis -
avec succès - vers une fonction php "Rechercher" :
/* Fonction Javascript */
function Update(frappe)
{
document.getElementById("textfield").value = "<?php Rechercher('"+frappe+"'); ?>";
}
/* Fonction PHP */
function Rechercher($text)
{
$result = RequeteSQL("SELECT nom FROM table WHERE nom LIKE '$text%' ORDER BY nom");
$ligne = mysql_fetch_array($result);
echo $ligne[0];
}
A partir de là, un truc bizarre se produit : la chaîne est bien transmise, un "echo" peut
le prouver, mais la requête SQL ne renvoit rien. Si je rajoute par exemple au début de la
fonction PHP $text = "V", ça va marcher, la requête SQL va me renvoyer le premier enregistrement
commençant par "V". Si ce même "V" provient du Javascript, 'a marche pu.
Qu'est-ce qui ne fonctionne pas entre Javascript, MySQL et l'appel PHP ? N'y a-t-il pas une
histoire de formatage de chaîne de caractère ou qqch dans le genre ?
Merci.