[AJAX] recherche si l'article existe deja en base
bonjour,
j'ai une fonction ajax qui me permet sur un onKeyUp de verifier si un champs existe deja dans la base. cela marche sauf dans certains cas :
Aimants 25mm rouge (x10) <= il me dit que l'article n'existe pas et que donc en theorie je peux l'ajoute, sauf qu'en fait je l'affiche de la base mais bon
Boite d'agrafes bebe (boite de 1000)<= la il m'affiche directement la requete sql avec une erreure
//fonction qui recupere l'article du formulaire
Code:
1 2 3 4 5 6 7
|
function afficheArticle(){
var adr=document.getElementById('article2').options[document.getElementById('article2').selectedIndex];
document.getElementById('modifierArticleNouveauNom').value=adr.text;
document.getElementById('modifierArticleCodeNomOri').value=adr.value;
verifchampsAjx(adr.text,'nomarticle','nom de cet article');
} |
fonction ajax
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
function ajx(champs){
var xhr = getXhr();
xhr.open("GET", champs, false);
xhr.setRequestHeader('Cache-Control','no-cache');
xhr.send(null);
if(xhr.readyState == 4 ) return(xhr.responseText);
else return(false);
}
///////////////////////////////////////
//creation article
///////////////////////////////////////
function verifchampsAjx(valeurchamp,adr,ref){
if(valeurchamp != ''){
if(texte = ajx('ajax/'+adr+'.php?'+adr+'='+escape(valeurchamp))){
if(texte == 1)
ecrire('<span style="color:#cc0000">le '+ref+' de cet article : <b>'+valeurchamp+'</b> est deja pris</span>');
else if(texte == 2)
ecrire('<span style="color:#1A7917">le '+ref+' de cet article : <b>'+valeurchamp+'</b> est libre </b></span>');
else
ecrire(texte);
}
}
} |
page de traitement
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<?php
include('../verif.php');
//appel du fichier contenant les fonctions et les paramètres de connection de la base.
require('../../classeBD.inc');
header("Pragma: no-cache");
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Content-type: application/xml");
//Connection à la base
$db = new gestionBD();
$db->connect();
// VERIFICATION
$result = $db->sqlSelect("nom",TB_ART,"nom='".$_GET["nomarticle"]."'");
if(mysql_num_rows($result)>=1)
echo "1";
else
echo "2";
$db->disconnect();
?> |
on dirait que c'est le ' et x dans le nom de l'article qui le perturbe, non ?
est ce que vous avez une idee de comment je peux resoudre ce probleme ?
meric beaucoup :)